很多开发者第一次用阿里云服务器部署网站时,容易在环境配置和权限设置上卡住。今天把这套流程梳理清楚,配合阿里云ECS的实际操作界面,手把手过一遍。
一、选配ECS实例:这几个参数别选错
拿到一台新的云服务器,第一步不是急着装软件,而是把基础环境搭好。CPU和内存的选择取决于你要跑什么——个人博客或者小项目,2核2G足够;稍微有点流量的站点,建议4核4G起步。
操作系统这块,如果对Linux比较熟,首选CentOS 7.x或者Ubuntu 22.04 LTS,这两个社区支持最完善,遇到问题容易找到解决方案。阿里云镜像站提供的系统版本预装了cloud-init,开机后能自动完成 hostname 和网络配置,省去不少麻烦。
遇到比较多的是安全组配置问题。阿里云默认只开放了22端口(SSH)和3389端口(Windows RDP),网站要用的80和443端口必须手动加进来。进入ECS控制台→安全组→配置规则→入方向,添加自定义TCP规则,端口范围写80/443,授权对象写0.0.0.0/0即可。
二、Web环境一键部署:宝塔面板值得用吗
手动敲命令装Nginx、MySQL、PHP对老手来说不算难,但批量管理多站点、维护证书、更新PHP版本这些操作会比较繁琐。这种情况下,宝塔面板或者1Panel这类管理工具确实能提升效率。
用SSH工具(FinalShell或者Termius都可以)连接服务器,执行宝塔安装脚本:
```bash
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec6
```
安装完成后控制台会返回登录地址和账号密码,浏览器打开就能看到图形化界面。第一次登录会推荐安装LNMP套件,勾选Nginx、MySQL、PHP对应的版本,等个十来分钟环境就ready了。
这里有个坑要提醒:阿里云CentOS系统默认开启了宝塔的系统防火墙(bt firewall),和云端安全组是两套独立的规则。如果安全组已经放行了80端口但还是访问不到,检查一下宝塔面板的“防火墙”菜单,看有没有放行对应的端口。
三、添加站点与部署代码
环境装好后,进入宝塔面板点击“网站”→“添加站点”,填写域名(如果没有域名先写IP也能用),根目录默认在/www/wwwroot/你的域名/。
部署代码有几种常见方式:
方式一:直接上传
在站点根目录下传压缩包,解压后把文件移到网站根目录。宝塔自带文件管理器,也可以用SFTP工具比如FileZilla上传。
方式二:Git拉取
如果代码在GitHub或者Gitee上,登SSH执行git clone,然后做一下软链接:
```bash
cd /www/wwwroot/你的域名
ln -s /www/wwwroot/你的项目目录/public/* ./
```
方式三:使用宝塔的Webhook
配置好Git webhook后,代码push到仓库自动触发拉取脚本,适合持续迭代的项目。
部署完成后,修改一下Nginx配置文件确保URL重写规则正确。比如ThinkPHP、Laravel这类框架需要设置public目录为网站根目录,否则会报500错误。
四、域名解析与HTTPS配置
有了网站程序,接下来要让域名指向这台服务器。去阿里云域名控制台添加解析记录:主机记录填www(或者@),记录类型A,记录值填ECS的公网IP。解析生效通常5分钟内,但全网生效可能要24小时。
HTTPS这块,现在Let's Encrypt的免费证书在宝塔面板里可以直接申请,一键部署、自动续期。不想用Let's Encrypt的话,阿里云也有免费的DV证书可以申请,每半年更新一次。
五、跑起来之后该注意什么
网站能访问了不代表万事大吉。几个后续要关注的点:
- 快照备份:在ECS控制台创建手动快照,或者设置自动快照策略。程序出问题还能回滚,比什么都强。
- 监控告警:云监控里配置CPU使用率、内存、磁盘空间的告警规则,阈值可以先设80%。
- 日志查看:Nginx的error.log和access.log定期看一下,能发现不少问题。
整个流程跑下来,从购买ECS到第一个页面能打开,快的话半小时就能搞定。遇到卡住的地方多半是安全组或者防火墙没配置好,顺着这条线查基本能解决。