在阿里云上部署小程序的 Node.js 后端服务是一个常见需求。以下是完整的流程,涵盖从准备到上线的各个步骤:
✅ 一、前期准备
1. 注册阿里云账号
- 访问 阿里云官网
- 完成实名认证
2. 购买云服务器 ECS
- 进入 ECS 控制台:https://ecs.console.aliyun.com
- 点击「创建实例」
- 推荐配置(开发/测试环境):
- 地域:靠近用户所在区域(如华东1)
- 实例规格:
ecs.t5-lc1m2.small(1核2G,适合Node.js轻量应用) - 镜像:选择 Ubuntu 20.04 / 22.04 LTS 或 CentOS 7.x
- 存储:系统盘 40GB SSD
- 网络:分配公网 IP 或绑定弹性公网 IP(EIP)
- 安全组:开放端口
22(SSH)、80(HTTP)、443(HTTPS),以及你的服务端口(如3000)
⚠️ 注意:安全组规则要允许外部访问你 Node.js 服务监听的端口。
✅ 二、连接服务器并初始化环境
1. 使用 SSH 连接服务器
ssh root@你的公网IP
# 输入密码或使用密钥登录
2. 更新系统并安装基础工具
sudo apt update && sudo apt upgrade -y # Ubuntu
# 或
sudo yum update -y # CentOS
3. 安装 Node.js 和 npm
推荐使用 nvm 管理 Node.js 版本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 18 # 推荐长期支持版本
node -v # 检查版本
npm -v
4. 安装 PM2(进程管理器)
npm install -g pm2
✅ 三、上传和部署 Node.js 后端代码
方法一:通过 Git 克隆(推荐)
- 将你的后端项目推送到 GitHub/Gitee
- 在服务器上克隆:
git clone https://github.com/yourname/your-nodejs-backend.git cd your-nodejs-backend npm install
方法二:使用 SCP 上传本地代码
scp -r ./backend root@你的IP:/root/myapp
✅ 四、配置 Node.js 服务
1. 修改配置文件(如有)
- 数据库连接地址(如 MongoDB、MySQL)
- 端口设置(建议使用
3000、8080等) - 小程序 AppID 和 AppSecret
2. 启动服务(临时测试)
node app.js
# 或 npm start
3. 使用 PM2 启动并守护进程
pm2 start app.js --name "my-miniprogram-api"
# 或使用 npm script
pm2 start npm --name "my-miniprogram-api" -- start
4. 设置开机自启
pm2 startup
pm2 save
✅ 五、配置反向X_X(Nginx)
1. 安装 Nginx
sudo apt install nginx -y # Ubuntu
# 或
sudo yum install nginx -y # CentOS
2. 启动并设置开机启动
sudo systemctl start nginx
sudo systemctl enable nginx
3. 配置 Nginx 反向X_X
编辑配置文件:
sudo nano /etc/nginx/sites-available/default
内容示例(假设 Node.js 服务运行在 3000 端口):
server {
listen 80;
server_name your-domain.com; # 替换为你的域名或公网IP
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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
4. 重启 Nginx
sudo nginx -t # 测试配置
sudo systemctl reload nginx
✅ 六、域名与 HTTPS(可选但推荐)
1. 购买并解析域名
- 在阿里云「域名控制台」购买
.com或.cn域名 - 添加 DNS 解析记录,将域名指向你的 ECS 公网 IP
2. 申请免费 SSL 证书(HTTPS)
- 进入「SSL证书服务」控制台
- 申请免费证书(品牌:Digicert)
- 验证域名(DNS 方式)
- 下载证书(Nginx 版本)
3. 配置 HTTPS
将证书上传到服务器,修改 Nginx 配置:
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /path/to/your_domain.crt;
ssl_certificate_key /path/to/your_domain.key;
location / {
proxy_pass http://127.0.0.1:3000;
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;
}
}
# HTTP 强制跳转 HTTPS
server {
listen 80;
server_name your-domain.com;
return 301 https://$server_name$request_uri;
}
重启 Nginx:
sudo systemctl reload nginx
✅ 七、小程序端配置
在微信开发者工具中:
- 修改请求域名:
request合法域名:填写你的 HTTPS 域名(如https://api.yourdomain.com)
- 调用接口时使用该域名
✅ 八、监控与维护
1. 查看服务状态
pm2 list
pm2 logs my-miniprogram-api
2. 更新代码流程
cd /root/myapp
git pull origin main
pm2 restart my-miniprogram-api
3. 日志与错误排查
- 查看 PM2 日志
- 检查 Nginx 错误日志:
/var/log/nginx/error.log - 使用
journalctl -u nginx查看系统日志
✅ 九、安全建议
- 关闭不必要的端口(仅保留 80、443、22)
- 使用非 root 用户运行 Node.js
- 定期更新系统和软件包
- 开启阿里云安全中心(免费版可用)
- 数据库不要暴露在公网
📌 总结:完整流程图
注册阿里云 → 购买ECS → SSH连接 → 安装Node.js/PM2/Nginx
↓
上传代码 → 配置服务 → PM2启动 → Nginx反向X_X
↓
绑定域名 → 申请SSL → 启用HTTPS → 小程序配置请求域名
↓
上线运行 + 监控维护
如需自动化部署,可进一步集成 Jenkins / GitHub Actions / 阿里云效 实现 CI/CD。
如果你提供具体的技术栈(如 Express/Koa/Nest.js),我可以给出更详细的配置样例。
秒懂云