本地项目跑通以后,下一个问题通常是怎么让别人随时打开它。阿里云在国内用的人多,ECS、RDS、负载均衡这几样组合起来,中小型项目基本够用。下面用一个实际案例,说明阿里云部署的主要步骤。

案例背景
一位独立开发者做本地生活服务,系统基于 Node.js 加 MySQL,有一套预约功能。之前它一直跑在自己的笔记本上,只有局域网能访问。客户想用域名从外网打开,还要能扛住一定的访问量。他给自己定的目标很具体:一周内上线,费用可控,之后自己能维护。
部署前的准备
动手之前,有三件事最好先理清,能省下不少返工。
- 按并发选规格:根据预估访问量选 ECS 的 CPU 和内存。初期 2 核 4G 通常够用,流量上来后可以随时升配,没必要一开始就买大的。
- 尽早提交备案:如果网站面向中国大陆用户,并使用境内服务器,域名需要完成 ICP 备案,周期一般一到两周。拖到上线前一天才提交,很容易卡住。
- 盘点依赖:记下运行环境版本、数据库版本和需要开放的端口,再把配置文件里的密码、密钥单独标出来,避免后面误传到代码仓库。
五个步骤完成部署
第一步:创建 ECS 实例
在阿里云控制台开通云服务器 ECS,地域尽量选离主要用户近的。操作系统用 Ubuntu 或 Alibaba Cloud Linux 都可以。登录方式建议直接用 SSH 密钥对,别只依赖密码。
第二步:配置安全组
安全组可以理解成实例外面的一道门。案例里,开发者只对公网开放 80 和 443 端口,22 端口只允许自己办公网络的 IP 连接。也有人嫌麻烦,把 22 端口对所有地址开放,结果服务器很快就会被大量自动扫描盯上。这一步改起来只要几分钟,别省。
第三步:部署运行环境
通过 SSH 登录服务器后,安装 Node.js、Nginx 和进程管理工具。代码用 Git 拉到服务器,装好依赖后,用 PM2 守护进程。服务意外退出时,PM2 会自动拉起,不用人工盯着重启。
第四步:接入云数据库
案例中没有在 ECS 上自建 MySQL,而是直接用阿里云 RDS。备份、主从切换和补丁更新交给平台处理,开发者只管业务。RDS 建好后,把 ECS 的内网地址加入白名单,数据库连接走内网,既更安全,延迟也更低。
第五步:配置 Nginx 反向代理与 HTTPS
Nginx 接收外部请求,再转发给本地的 Node.js 服务。域名解析到 ECS 公网 IP 之后,可以在阿里云证书服务申请免费的 SSL 证书,然后在 Nginx 中配置 443 端口。配完后,用浏览器和命令行各测一遍,确认跳转正常,证书链完整。
上线后的检查与维护
上线不等于结束。这位开发者做了三件事:一是为 CPU、内存和磁盘设置云监控告警阈值;二是为 RDS 开启每日自动备份,并定期演练恢复;三是把部署步骤写成脚本,之后更新代码只需执行一条命令。
一周后,系统运行平稳。促销期间并发明显上升,他升级了 ECS 配置,几分钟内完成扩容,用户访问没有受到影响。
几点经验
- 先用最小配置跑通整条流程,再根据监控数据逐步调整。一开始就上高规格,花了钱,也不知道瓶颈在哪。
- 数据库密码和密钥不要写进代码仓库,改用环境变量或阿里云密钥管理服务保存。仓库一旦公开,泄露几乎只是时间问题。
- 定期检查安全组规则和账号权限,不再使用的密钥和实例及时释放,否则会一直计费。
阿里云部署的步骤其实不多,真正容易出问题的,往往是准备不足,或者没有回退方案。每次改动前留一份备份或快照,出问题时能退回去。把这条流程完整走一遍,下次上线会轻松很多。