在阿里云上部署小程序的 Node.js 后端服务,通常包括以下几个关键步骤。以下是完整的流程说明:
一、准备工作
-
注册阿里云账号
- 访问 阿里云官网 注册并完成实名认证。
-
开通所需服务
- 云服务器 ECS(用于运行 Node.js 服务)
- 域名(可选,用于 HTTPS 和访问)
- SSL 证书(如使用 HTTPS)
- 云数据库 RDS 或 MongoDB(如需要数据库)
-
本地开发环境准备
- 开发好你的 Node.js 小程序后端(如 Express/Koa 框架)
- 确保项目可通过
npm start正常运行 - 准备好
package.json、app.js、.env配置等
二、购买和配置云服务器 ECS
-
购买 ECS 实例
- 进入 ECS 控制台
- 创建实例:选择地域(建议靠近用户)、操作系统(推荐 Ubuntu/CentOS)
- 实例规格:按需选择(如 1核2G 足够测试)
- 安全组:开放必要端口(如 22(SSH)、80(HTTP)、443(HTTPS))
-
获取公网 IP
- 实例创建完成后,记录其公网 IP 地址。
-
连接服务器
ssh root@<your-ecs-public-ip>(首次登录可能需要设置密码或使用密钥)
三、服务器环境搭建
-
更新系统包
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian # 或 sudo yum update -y # CentOS -
安装 Node.js 和 npm
推荐使用 nvm 安装指定版本:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash source ~/.bashrc nvm install 18 # 推荐 LTS 版本 node -v && npm -v -
安装 PM2(进程守护)
npm install -g pm2 -
安装 Nginx(反向X_X & 静态资源)
sudo apt install nginx -y sudo systemctl start nginx sudo systemctl enable nginx
四、上传并部署 Node.js 项目
-
上传代码到服务器
- 方法一:使用
scp命令scp -r ./your-node-project root@<public-ip>:/home/nodeapp - 方法二:使用 Git(推荐)
git clone https://github.com/yourname/your-node-app.git /home/nodeapp
- 方法一:使用
-
安装依赖
cd /home/nodeapp npm install --production -
配置环境变量(如有)
- 创建
.env文件或使用系统环境变量 - 示例
.env:PORT=3000 DB_HOST=xxx.rds.aliyuncs.com SECRET_KEY=your-secret
- 创建
-
使用 PM2 启动应用
pm2 start app.js --name "miniapp-backend" pm2 save pm2 startup # 设置开机自启 -
检查服务是否运行
pm2 status curl http://localhost:3000/api/test # 测试接口
五、配置域名与 HTTPS(可选但推荐)
-
购买并解析域名
- 在阿里云域名控制台购买域名
- 添加 A 记录指向 ECS 公网 IP
-
申请免费 SSL 证书
- 进入 SSL 证书服务
- 申请免费 DV 证书(Symantec 或 GeoTrust)
- 验证域名所有权(DNS 验证)
-
下载证书并配置 Nginx
- 下载 Nginx 版证书,上传到服务器(如
/etc/nginx/ssl/) -
编辑 Nginx 配置:
server { listen 80; server_name yourdomain.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /etc/nginx/ssl/your_domain.pem; ssl_certificate_key /etc/nginx/ssl/your_domain.key; location / { proxy_pass http://127.0.0.1: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; } } - 重载 Nginx:
sudo nginx -t sudo systemctl reload nginx
- 下载 Nginx 版证书,上传到服务器(如
六、配置安全组与防火墙
-
确保 ECS 安全组规则开放:
- 端口 22:SSH(建议限制 IP)
- 端口 80:HTTP
- 端口 443:HTTPS
- 关闭其他非必要端口(如 3000 不应对外暴露)
-
服务器防火墙(如 ufw):
sudo ufw allow 'Nginx Full' sudo ufw enable
七、小程序端连接后端
在小程序代码中配置请求域名:
// app.js 或 request 工具中
wx.request({
url: 'https://yourdomain.com/api/login',
method: 'POST',
data: { ... },
success(res) { ... }
})
⚠️ 注意:
- 域名必须备案并通过微信校验
- 必须使用 HTTPS
- 在 微信公众平台 的「开发管理」→「开发设置」中添加
request合法域名
八、后续维护建议
-
日志监控
pm2 logs miniapp-backend -
自动部署(可选)
- 使用 GitHub Actions / Jenkins 自动拉取代码并重启服务
-
备份策略
- 定期备份数据库和代码
- 使用阿里云快照功能备份 ECS 系统盘
-
性能监控
- 使用阿里云云监控或 PM2 监控 CPU、内存使用情况
✅ 总结:完整流程为
买 ECS → 部署环境 → 上传代码 → PM2 托管 → Nginx 反向X_X → 配置域名 HTTPS → 小程序调用
按照以上步骤,即可稳定运行你的小程序 Node.js 后端服务。
如有进一步需求(如数据库、Redis、WebSocket 支持),可继续扩展架构。
云服务器