在阿里云轻量级服务器(如轻量应用服务器 Lighthouse)上部署 Node.js 后端以支持微信小程序运行,可以按照以下步骤进行操作。整个过程包括:购买服务器、连接服务器、安装 Node.js、部署项目、配置反向(可选)、设置域名和 HTTPS 等。
✅ 一、准备工作
-
购买阿里云轻量应用服务器
- 登录 阿里云控制台
- 搜索“轻量应用服务器”或“Lighthouse”
- 选择系统镜像:推荐 Ubuntu 20.04 / 22.04 或 CentOS 7/8
- 地域、带宽等根据需求选择(建议至少 1Mbps 带宽)
-
获取服务器信息
- 公网 IP 地址
- SSH 登录用户名(如
ubuntu或root) - 密码或密钥对
✅ 二、连接服务器(SSH)
使用终端(Mac/Linux)或工具(Windows 推荐 PuTTY 或 Xshell):
ssh root@你的公网IP
# 或
ssh ubuntu@你的公网IP
首次登录可能需要修改密码。
✅ 三、更新系统并安装必要软件
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# CentOS
sudo yum update -y
✅ 四、安装 Node.js 和 npm
推荐使用 NodeSource 安装较新版本的 Node.js(如 v18.x)
Ubuntu 示例:
# 添加 NodeSource 仓库(以 Node.js 18 为例)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
# 安装 Node.js 和 npm
sudo apt-get install -y nodejs
# 验证安装
node -v # 应输出 v18.x.x
npm -v
CentOS 示例:
# 使用 NodeSource 安装 Node.js 18
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
node -v
npm -v
✅ 五、上传并部署 Node.js 项目
假设你有一个用于支持小程序的后端项目(如 Express/Koa)。
1. 安装 Git 并克隆项目
sudo apt install git -y # Ubuntu
# 或
sudo yum install git -y # CentOS
git clone https://github.com/yourname/your-node-project.git
cd your-node-project
2. 安装依赖
npm install
# 或生产环境只安装生产依赖
npm install --production
3. 修改配置(如数据库地址、端口等)
确保 app.js 或 server.js 监听 0.0.0.0 而不是 localhost,例如:
app.listen(3000, '0.0.0.0', () => {
console.log('Server running on port 3000');
});
小程序前端请求的是公网 IP 或域名,所以必须监听所有接口。
✅ 六、使用 PM2 守护进程管理 Node.js 应用
避免服务断开后进程退出。
1. 安装 PM2
npm install -g pm2
2. 启动项目
pm2 start app.js --name "my-wechat-api"
3. 设置开机自启
pm2 startup
# 按提示执行生成的命令,如:
# sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu
4. 保存当前进程列表
pm2 save
✅ 七、配置防火墙和安全组
1. 阿里云控制台配置安全组
- 进入轻量服务器管理页面
- 找到“防火墙”或“安全组”
- 添加规则:放行你的服务端口(如
3000)的 TCP 入方向流量- 端口范围:
3000 - 源 IP:
0.0.0.0/0(或限制为小程序服务器 IP)
- 端口范围:
2. 本地防火墙(可选)
# Ubuntu 使用 ufw
sudo ufw allow 3000
# CentOS 使用 firewalld
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
✅ 八、绑定域名 + HTTPS(推荐)
小程序要求后端接口必须是 HTTPS 协议
方案:使用 Nginx 反向 + 免费 SSL 证书(Let’s Encrypt)
1. 安装 Nginx
sudo apt install nginx -y # Ubuntu
# 或
sudo yum install nginx -y # CentOS
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
2. 配置 Nginx 反向
编辑配置文件:
sudo nano /etc/nginx/sites-available/default
内容示例:
server {
listen 80;
server_name api.yourdomain.com;
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;
}
}
测试配置并重启 Nginx:
sudo nginx -t
sudo systemctl restart nginx
3. 申请免费 SSL 证书(Let’s Encrypt)
安装 Certbot:
sudo apt install certbot python3-certbot-nginx -y
申请证书:
sudo certbot --nginx -d api.yourdomain.com
按提示操作,Certbot 会自动配置 HTTPS 并设置自动续期。
完成后,访问 https://api.yourdomain.com 即可安全通信。
✅ 九、小程序端调用 API
在小程序代码中发起请求:
wx.request({
url: 'https://api.yourdomain.com/user/info',
method: 'GET',
success(res) {
console.log(res.data)
}
})
确保域名已添加到小程序管理后台的「request 合法域名」中。
✅ 十、后续维护建议
- 定期备份服务器数据
- 使用日志监控:
pm2 logs - 更新 Node.js 和系统安全补丁
- 使用 GitHub Actions 或脚本自动化部署
📌 总结流程
| 步骤 | 内容 |
|---|---|
| 1 | 购买阿里云轻量服务器(Ubuntu/CentOS) |
| 2 | SSH 登录服务器 |
| 3 | 安装 Node.js 和 npm |
| 4 | 上传项目代码(Git 或 SCP) |
| 5 | 安装依赖并用 PM2 启动 |
| 6 | 配置安全组开放端口 |
| 7 | 使用 Nginx + HTTPS(必做,小程序要求) |
| 8 | 小程序调用 HTTPS 接口 |
如有具体项目结构或框架(如 Express、Koa、NestJS),可进一步提供帮助配置。欢迎继续提问!
CLOUD技术笔记