阿里云服务器搭建网站教程

阿里云服务器搭建网站教程

  • admin admin
  • 2026-09-12
  • 5015
  • 0

阿里云服务器搭建网站教程是指从购买ECS实例、配置安全组、安装Web环境、上传网站代码到绑定域名并上线访问的完整操作流程。购买阿里云ECS实例登录阿里云官网,进入ECS产品页,点击“立即购买”。选择计费方式:包年包月适合长期稳定使用,按量付费适合测试或短期...

优惠价格:¥ 0.00
当前位置:首页 > 阿里云服务器租用托管 > 阿里云服务器搭建网站教程
详情介绍

阿里云服务器搭建网站教程是指从购买ECS实例、配置安全组、安装Web环境、上传网站代码到绑定域名并上线访问的完整操作流程。

购买阿里云ECS实例

  1. 登录阿里云官网,进入ECS产品页,点击“立即购买”。

  2. 选择计费方式:包年包月适合长期稳定使用,按量付费适合测试或短期项目,新手可选按量付费。

  3. 选择地域和可用区,建议选择离目标用户最近的地域,例如面向国内用户选择华东1(杭州)或华北2(北京)。

    阿里云服务器搭建网站教程  第1张

  4. 选择实例规格:个人网站或博客可选择1核2GB,中型网站可选择2核4GB或更高配置。

  5. 选择镜像:推荐公共镜像中的Ubuntu 22.04或CentOS 7.9,也可直接选择带有LNMP/LAMP环境的镜像。

  6. 设置登录凭证:可选择密码或密钥对,密钥对安全性更高。

  7. 配置安全组:新建安全组或使用默认安全组,后续需要手动添加端口规则。

  8. 确认订单并支付,等待实例创建完成,状态显示“运行中”即可使用。

登录服务器

使用SSH工具连接服务器,Windows可使用PowerShell或PuTTY,macOS/Linux可直接使用终端。

sshroot@服务器公网IP

输入密码后进入命令行界面,若使用密钥对,命令为:

ssh-i密钥文件.pemroot@服务器公网IP

首次登录会提示确认指纹,输入yes即可,建议登录后立即修改root密码:

passwd

配置安全组

  1. 进入ECS控制台,找到实例,点击“安全组”。

  2. 添加入方向规则:

    • 端口80:HTTP访问,授权对象0.0.0.0/0

    • 端口443:HTTPS访问,授权对象0.0.0.0/0

    • 端口22:SSH远程管理,建议授权对象填写自己的公网IP

  3. 如果后续需要FTP上传,可放行21端口,但建议使用SFTP代替FTP。

  4. 安全组规则修改后立即生效,无需重启实例。

安装Web服务器

以Nginx为例,在Ubuntu上执行:

aptupdate
aptinstallnginx-y

安装完成后启动并设置开机自启:

systemctlstartnginx
systemctlenablenginx

在浏览器输入服务器公网IP,若显示Nginx欢迎页则安装成功,如果无法访问,检查安全组是否放行80端口。

如果使用CentOS,安装命令为:

yuminstallnginx-y
systemctlstartnginx
systemctlenablenginx

安装数据库

安装MySQL或MariaDB:

aptinstallmysql-server-y

启动并设置开机自启:

systemctlstartmysql
systemctlenablemysql

运行安全初始化脚本:

mysql_secure_installation

按提示设置root密码、删除匿名用户、禁止远程root登录、删除测试数据库并重新加载权限表。

创建网站数据库和用户:

CREATEDATABASEmywebsiteCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;
CREATEUSER'webuser'@'localhost'IDENTIFIEDBY'你的密码';
GRANTALLPRIVILEGESONmywebsite.*TO'webuser'@'localhost';
FLUSHPRIVILEGES;

如果网站需要远程连接数据库,可创建允许远程访问的用户:

CREATEUSER'webuser'@'%'IDENTIFIEDBY'你的密码';
GRANTALLPRIVILEGESONmywebsite.*TO'webuser'@'%';
FLUSHPRIVILEGES;

同时需要修改MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,将bind-address改为0.0.0,并重启MySQL。

安装PHP

Nginx需要PHP-FPM处理动态请求,安装PHP及常用扩展:

aptinstallphp-fpmphp-mysqlphp-curlphp-gdphp-mbstringphp-xmlphp-zip-y

启动PHP-FPM:

systemctlstartphp8.1-fpm
systemctlenablephp8.1-fpm

版本号可能不同,使用php -v查看实际版本,并调整socket路径,常见路径为/var/run/php/php8.1-fpm.sock/var/run/php/php-fpm.sock

配置Nginx虚拟主机

编辑站点配置文件:

nano/etc/nginx/sites-available/mywebsite
server{
listen80;
server_nameyourdomain.comwww.yourdomain.com;
root/var/www/mywebsite;
indexindex.phpindex.htmlindex.htm;
location/{
try_files$uri$uri//index.php?$query_string;
}
location~\.php${
includesnippets/fastcgi-php.conf;
fastcgi_passunix:/var/run/php/php8.1-fpm.sock;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}
location~/\.ht{
denyall;
}
}

创建站点目录并启用配置:

mkdir-p/var/www/mywebsite
ln-s/etc/nginx/sites-available/mywebsite/etc/nginx/sites-enabled/
nginx-t
systemctlreloadnginx

如果nginx -t报错,检查配置文件语法和PHP-FPM socket路径是否正确。

上传网站代码

在本地打包网站文件,使用scp或sftp上传到服务器:

scp-r./website.ziproot@服务器公网IP:/var/www/

在服务器解压:

cd/var/www
unzipwebsite.zip-dmywebsite
chown-Rwww-data:www-data/var/www/mywebsite
chmod-R755/var/www/mywebsite

若使用Git,可直接在服务器克隆仓库:

cd/var/www
gitclonehttps://github.com/yourname/yourrepo.gitmywebsite

如果网站使用框架如ThinkPHP、Laravel,需要将public目录设为站点根目录,并确保storagebootstrap/cache等目录可写。

绑定域名与解析

  1. 在域名服务商处添加A记录,将域名指向服务器公网IP。

  2. 若使用www子域名,添加CNAME记录指向主域名。

  3. 等待DNS生效,通常几分钟到几小时。

  4. 验证解析:ping yourdomain.com查看是否返回服务器IP。

  5. 解析生效后,在Nginx配置中确保server_name包含你的域名,否则可能显示默认站点。

部署SSL证书

使用Let's Encrypt免费证书,安装Certbot:

aptinstallcertbotpython3-certbot-nginx-y

运行:

certbot--nginx-dyourdomain.com-dwww.yourdomain.com

按提示输入邮箱并同意条款,Certbot会自动修改Nginx配置并重载,证书到期自动续期:

certbotrenew--dry-run

部署成功后,网站即可通过https://yourdomain.com访问,HTTP请求会自动跳转到HTTPS。

十一、设置文件权限与安全加固

  1. 修改SSH默认端口,编辑/etc/ssh/sshd_config,将Port 22改为其他端口,然后重启SSH。

  2. 禁止root密码登录,使用密钥登录:设置PermitRootLogin prohibit-password

  3. 安装fail2ban防止暴力免费:

aptinstallfail2ban-y
systemctlstartfail2ban
systemctlenablefail2ban

定期更新系统:

aptupdate&&aptupgrade-y

开启防火墙UFW(如果安全组已配置,可选择性开启):

ufwallow80/tcp
ufwallow443/tcp
ufwallow22/tcp
ufwenable

十二、网站上线测试

在浏览器访问http://yourdomain.com,确认页面正常,检查PHP动态页面、数据库连接、表单提交等功能,使用curl -I https://yourdomain.com查看响应头是否包含200状态码。

如果遇到502错误,检查PHP-FPM是否运行、Nginx配置中sock路径是否正确,如果数据库连接失败,检查数据库用户名密码和主机名,如果域名无法访问,检查安全组是否放行80和443端口,以及域名解析是否生效。

完成以上步骤后,网站即可通过阿里云服务器对外提供服务,后续可根据业务需要配置负载均衡、CDN加速、对象存储OSS等阿里云产品。

0