阿里云服务器搭建网站教程是指从购买ECS实例、配置安全组、安装Web环境、上传网站代码到绑定域名并上线访问的完整操作流程。
购买阿里云ECS实例
登录阿里云官网,进入ECS产品页,点击“立即购买”。
选择计费方式:包年包月适合长期稳定使用,按量付费适合测试或短期项目,新手可选按量付费。
选择地域和可用区,建议选择离目标用户最近的地域,例如面向国内用户选择华东1(杭州)或华北2(北京)。

选择实例规格:个人网站或博客可选择1核2GB,中型网站可选择2核4GB或更高配置。
选择镜像:推荐公共镜像中的Ubuntu 22.04或CentOS 7.9,也可直接选择带有LNMP/LAMP环境的镜像。
设置登录凭证:可选择密码或密钥对,密钥对安全性更高。
配置安全组:新建安全组或使用默认安全组,后续需要手动添加端口规则。
确认订单并支付,等待实例创建完成,状态显示“运行中”即可使用。
登录服务器
使用SSH工具连接服务器,Windows可使用PowerShell或PuTTY,macOS/Linux可直接使用终端。
sshroot@服务器公网IP
输入密码后进入命令行界面,若使用密钥对,命令为:
ssh-i密钥文件.pemroot@服务器公网IP
首次登录会提示确认指纹,输入yes即可,建议登录后立即修改root密码:
passwd
配置安全组
进入ECS控制台,找到实例,点击“安全组”。
添加入方向规则:
端口80:HTTP访问,授权对象0.0.0.0/0
端口443:HTTPS访问,授权对象0.0.0.0/0
端口22:SSH远程管理,建议授权对象填写自己的公网IP
如果后续需要FTP上传,可放行21端口,但建议使用SFTP代替FTP。
安全组规则修改后立即生效,无需重启实例。
安装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目录设为站点根目录,并确保storage、bootstrap/cache等目录可写。
绑定域名与解析
在域名服务商处添加A记录,将域名指向服务器公网IP。
若使用www子域名,添加CNAME记录指向主域名。
等待DNS生效,通常几分钟到几小时。
验证解析:
ping yourdomain.com查看是否返回服务器IP。解析生效后,在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。
十一、设置文件权限与安全加固
修改SSH默认端口,编辑
/etc/ssh/sshd_config,将Port 22改为其他端口,然后重启SSH。禁止root密码登录,使用密钥登录:设置
PermitRootLogin prohibit-password。安装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等阿里云产品。