在轻量应用服务器(如阿里云轻量、腾讯云轻量等)上部署 Node.js 运行微信小程序后端,通常涉及系统初始化、环境安装、代码部署、进程管理和安全配置五个核心步骤。
以下是基于 Ubuntu/Debian 系统的标准操作流程(CentOS 逻辑类似,命令略有不同):
1. 连接服务器并更新系统
首先通过 SSH 登录到你的轻量应用服务器。
# 以 root 用户或 sudo 用户登录
ssh root@你的服务器IP
# 更新软件源(推荐)
apt update && apt upgrade -y # Ubuntu/Debian
# yum update -y # CentOS
2. 安装 Node.js 环境
为了获得较新的 LTS(长期支持)版本,建议使用 nvm (Node Version Manager) 进行安装和管理,避免直接覆盖系统自带的旧版本。
安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
安装完成后,需要重新加载环境变量或直接关闭 SSH 窗口重连:
source ~/.bashrc
安装 Node.js
# 查看可用版本
nvm ls-remote
# 安装最新 LTS 版本 (例如 v20.x)
nvm install --lts
# 验证安装
node -v
npm -v
提示:如果你希望每次重启后自动激活该版本,可以执行
nvm alias default <版本号>。
3. 安装数据库与依赖(可选但常见)
微信小程序后端通常需要数据库(MySQL/MongoDB)和 Redis(缓存)。轻量应用服务器通常提供“一键应用”功能,也可以手动安装。
示例:安装 MySQL
apt install mysql-server -y
# 设置 root 密码并启动服务
systemctl start mysql
systemctl enable mysql
安装项目依赖
将你的后端代码上传到服务器(推荐使用 Git 拉取,或使用 SCP/SFTP 工具上传压缩包)。
cd /root/my-node-app # 进入你的项目目录
npm install # 安装依赖包
注意:如果项目中有 package.json,确保其中的脚本命令(如 start, dev)正确。
4. 使用 PM2 管理进程
直接使用 node app.js 运行会导致进程在终端关闭时退出。在生产环境中,强烈建议使用 PM2 来守护进程。
# 全局安装 PM2
npm install pm2 -g
# 启动项目
pm2 start ecosystem.config.js
# 或者简单模式:pm2 start app.js --name "wechat-backend"
# 查看状态
pm2 status
# 保存当前进程列表,以便重启服务器后自动恢复
pm2 save
# 设置开机自启
pm2 startup
(如果是简单模式,可以直接运行 pm2 start app.js)
5. 配置防火墙与安全组
这是最关键的一步,否则外部无法访问 API。
A. 服务器内部防火墙 (UFW)
# 允许 SSH (22), 自定义端口 (假设是 3000)
ufw allow 22/tcp
ufw allow 3000/tcp
ufw enable
B. 云平台控制台(安全组)
登录云厂商控制台(阿里云/腾讯云),找到实例的安全组配置:
- 添加一条入方向规则。
- 协议选择
TCP。 - 端口范围填写你的服务端口(如
3000或80)。 - 授权对象设置为
0.0.0.0/0(允许所有 IP)或指定特定 IP。
6. 配置 Nginx 反向X_X(推荐)
为了让小程序能通过标准的 HTTPS 域名访问后端,建议在前端加一层 Nginx。
- 安装 Nginx:
apt install nginx -y - 配置域名解析: 在 DNS 服务商处将域名指向服务器 IP。
- 获取 SSL 证书: 使用 Let’s Encrypt (Certbot)。
apt install certbot python3-certbot-nginx -y certbot --nginx -d yourdomain.com -
Nginx 配置示例 (
/etc/nginx/sites-available/wechat-api):server { listen 80; server_name api.yourdomain.com; location / { proxy_pass http://127.0.0.1:3000; # 转发给 Node.js proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } - 启用配置:
ln -s /etc/nginx/sites-available/wechat-api /etc/nginx/sites-enabled/ nginx -t && systemctl restart nginx
7. 微信小程序配置注意事项
部署完成后,别忘了在微信公众平台后台配置:
- 服务器域名:在“开发管理 -> 开发设置”中,将
https://api.yourdomain.com添加到request合法域名列表中。 - 环境配置:确保小程序代码中的请求地址指向了新的域名。
总结检查清单
- [ ] Node.js 版本是否满足需求?
- [ ] 项目依赖是否安装完成 (
npm install)? - [ ] 进程是否由 PM2 守护且已保存?
- [ ] 服务器安全组是否放行了对应端口?
- [ ] Nginx 是否配置了 HTTPS 证书?
- [ ] 微信后台是否添加了合法的域名?
按照以上步骤操作,即可构建一个稳定、可维护的小程序后端环境。如果遇到具体报错,可以提供错误日志进一步分析。
CLOUD云枢