在阿里云上部署小程序的 Node.js 后端服务,是一个典型的 Web 服务部署流程。以下是完整的操作步骤,涵盖从准备到上线的全过程:
一、前期准备
1. 注册阿里云账号
- 访问 阿里云官网
- 注册并完成实名认证。
2. 开通所需服务
- ECS(弹性计算服务):用于部署 Node.js 应用。
- (可选)云数据库 RDS 或 MongoDB:用于数据存储。
- (可选)对象存储 OSS:用于上传图片等静态资源。
- (可选)域名与 SSL 证书:用于 HTTPS 访问。
二、购买和配置 ECS 服务器
1. 购买 ECS 实例
- 登录阿里云控制台 → 进入「ECS」→ 创建实例。
- 推荐配置:
- 地域:靠近用户所在地区(如华北2)
- 操作系统:Ubuntu 20.04/22.04 LTS 或 CentOS 7+
- 实例规格:ecs.t5-lc1m2.small(开发测试),生产建议 ecs.c6 或更高
- 带宽:1Mbps 起(可后期升级)
2. 配置安全组
- 添加安全组规则,允许以下端口访问:
22:SSH 远程登录80:HTTP443:HTTPS3000/8080:Node.js 服务端口(测试时开放,上线后建议通过 Nginx 反向X_X)
✅ 建议只对特定 IP 开放 SSH,避免暴力破解。
三、远程连接 ECS 并安装环境
1. 使用 SSH 登录服务器
ssh root@你的ECS公网IP
# 输入密码或使用密钥登录
2. 安装 Node.js 和 npm
以 Ubuntu 为例:
# 更新包管理器
sudo apt update
# 安装 NodeSource 仓库(推荐方式)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
# 验证安装
node -v
npm -v
3. 安装 PM2(进程管理工具)
sudo npm install -g pm2
四、上传并部署 Node.js 项目
1. 上传代码到服务器
方式一:使用 Git 克隆
git clone https://github.com/yourname/your-node-app.git
cd your-node-app
npm install
方式二:使用 SCP 上传本地代码
scp -r ./your-node-app root@your-server-ip:/root/
2. 配置环境变量(推荐)
创建 .env 文件(不要提交到 Git):
PORT=3000
DATABASE_URL=mongodb://localhost:27017/myapp
SECRET_KEY=your-secret-key
使用 dotenv 在 Node.js 中读取。
3. 启动应用(使用 PM2)
pm2 start app.js --name "mini-program-api"
# 或指定入口文件如 server.js、index.js 等
常用 PM2 命令:
pm2 logs # 查看日志
pm2 restart app # 重启
pm2 stop app # 停止
pm2 startup # 设置开机自启
pm2 save # 保存当前进程列表
五、配置 Nginx 反向X_X(推荐)
1. 安装 Nginx
sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
2. 配置反向X_X
编辑配置文件:
sudo nano /etc/nginx/sites-available/default
添加如下配置(假设 Node.js 监听 3000 端口):
server {
listen 80;
server_name your-domain.com; # 替换为你的域名
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
3. 重载 Nginx
sudo nginx -t # 测试配置是否正确
sudo systemctl reload nginx
六、绑定域名并配置 HTTPS(重要)
1. 购买并解析域名
- 在阿里云「域名控制台」购买域名。
- 添加 DNS 解析记录,将 A 记录指向 ECS 的公网 IP。
2. 申请免费 SSL 证书(SSL Certificates Service)
- 进入「SSL证书」控制台 → 申请免费证书(DigiCert 或 GeoTrust)。
- 验证域名所有权(DNS 方式最快)。
- 下载证书(Nginx 版本)。
3. 配置 HTTPS
将证书上传到服务器(如 /etc/nginx/ssl/),修改 Nginx 配置:
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/nginx/ssl/your_domain.crt;
ssl_certificate_key /etc/nginx/ssl/your_domain.key;
# 其他配置同上
location / {
proxy_pass http://localhost:3000;
# ... 保持不变
}
}
# HTTP 强制跳转 HTTPS
server {
listen 80;
server_name your-domain.com;
return 301 https://$server_name$request_uri;
}
重载 Nginx:
sudo nginx -t && sudo systemctl reload nginx
七、连接数据库(可选)
方案一:使用阿里云 RDS
- 创建 MySQL/MongoDB 实例。
- 获取内网地址(推荐,更安全且免费)。
- 在 Node.js 中使用连接字符串连接数据库。
方案二:在 ECS 上自建数据库
# 安装 MongoDB 示例
sudo apt install mongodb
sudo systemctl start mongod
八、小程序前端连接后端
在小程序代码中发起请求:
wx.request({
url: 'https://your-domain.com/api/login',
method: 'POST',
data: { code: '...' },
success(res) {
console.log(res.data);
}
})
⚠️ 注意:小程序要求所有接口必须使用 HTTPS!
九、监控与维护
1. 日志查看
pm2 logs
# 或查看 Nginx 日志
tail -f /var/log/nginx/access.log
2. 自动重启与守护
确保 PM2 已设置开机启动:
pm2 startup
pm2 save
3. 定期备份
- 备份数据库
- 备份代码和配置文件
十、优化建议(进阶)
| 优化项 | 说明 |
|---|---|
| 使用 CDN | 提速静态资源 |
| 使用负载均衡 SLB | 多台服务器高可用 |
| Docker 部署 | 容器化便于迁移 |
| CI/CD 自动部署 | 使用 GitHub Actions + 阿里云 API |
总结:完整流程图
注册阿里云 → 购买 ECS → 安全组配置 → SSH 登录
↓
安装 Node.js、PM2、Nginx
↓
上传代码 → npm install → PM2 启动
↓
配置 Nginx 反向X_X + HTTPS
↓
绑定域名 → 小程序调用 HTTPS 接口
↓
监控日志 + 定期维护
✅ 完成以上步骤后,你的小程序 Node.js 后端就已经稳定运行在阿里云上了!
如有需要,可以进一步使用阿里云的 Serverless 产品(如函数计算 FC)进行更轻量化的部署。
云计算HECS