在腾讯云轻量应用服务器(Lighthouse)上部署小程序的 Node.js 后端,是一个常见且高效的方案。以下是详细的部署步骤:
✅ 一、准备工作
-
购买并登录轻量应用服务器
- 登录 腾讯云控制台
- 购买一台轻量服务器(推荐选择 Ubuntu 20.04 / 22.04 系统)
- 获取公网 IP 和登录凭证(密码或密钥)
-
本地开发环境准备
- 小程序前端代码(微信开发者工具)
- Node.js 后端代码(Express/NestJS/Koa 等框架)
- 域名(可选,用于 HTTPS 访问)
✅ 二、连接服务器并配置环境
1. 使用 SSH 连接服务器(Linux/Mac/Windows WSL)
ssh root@你的服务器公网IP
# 输入密码或使用私钥登录
2. 更新系统并安装必要软件
sudo apt update && sudo apt upgrade -y
3. 安装 Node.js(推荐使用 nvm)
# 安装 nvm(Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc
# 安装 Node.js(例如 v18)
nvm install 18
nvm use 18
node -v # 检查版本
npm -v
4. 安装 PM2(进程管理器,保持服务常驻)
npm install -g pm2
✅ 三、上传并部署 Node.js 后端代码
方法一:通过 SCP 上传代码(推荐)
在本地终端执行(非服务器):
scp -r ./your-nodejs-project root@你的IP:/root/
方法二:使用 Git 克隆
git clone https://github.com/yourname/your-nodejs-backend.git
cd your-nodejs-backend
npm install
✅ 四、启动 Node.js 服务
进入项目目录:
cd /root/your-nodejs-project
npm install # 安装依赖
修改监听地址(重要!)
确保你的 app.js 或 server.js 中监听的是 0.0.0.0,而不是 localhost 或 127.0.0.1:
app.listen(3000, '0.0.0.0', () => {
console.log('Server running on port 3000');
});
使用 PM2 启动服务
pm2 start app.js --name "miniapp-api"
查看状态:
pm2 list
pm2 logs miniapp-api # 查看日志
设置开机自启:
pm2 startup
pm2 save
✅ 五、配置防火墙和安全组
1. 腾讯云控制台设置安全组
- 进入轻量服务器控制台 → 找到你的实例 → 安全组
- 添加规则:放行你使用的端口(如
3000)- 协议类型:TCP
- 端口:3000
- 源 IP:0.0.0.0/0(或限制为小程序域名 IP,更安全)
2. 服务器内部防火墙(UFW,可选)
sudo ufw allow 3000
sudo ufw enable
✅ 六、测试接口连通性
在浏览器或 Postman 中访问:
http://你的服务器IP:3000/api/test
如果返回数据,说明部署成功。
✅ 七、绑定域名 + HTTPS(推荐)
- 备案域名(国内服务器需备案)
- 解析域名到服务器 IP
- 使用 Nginx 反向 + SSL
安装 Nginx
sudo apt install nginx -y
配置反向(示例)
编辑配置文件:
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
免费 HTTPS(Let’s Encrypt)
使用 Certbot:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d api.yourdomain.com
之后自动配置 HTTPS。
✅ 八、小程序前端调用后端
在小程序代码中:
wx.request({
url: 'https://api.yourdomain.com/user/info',
method: 'GET',
success(res) {
console.log(res.data);
}
})
⚠️ 注意:必须使用 HTTPS,且域名需在小程序后台「开发管理」→「开发设置」中添加到 request 合法域名。
✅ 九、后续维护建议
- 使用
pm2 monit监控进程 - 定期备份代码和数据库
- 日志分析:
pm2 logs - 使用 GitHub Actions 自动部署(进阶)
总结
| 步骤 | 内容 |
|---|---|
| 1 | 购买轻量服务器,SSH 登录 |
| 2 | 安装 Node.js 和 PM2 |
| 3 | 上传代码并 npm install |
| 4 | PM2 启动服务,监听 0.0.0.0 |
| 5 | 开放安全组端口 |
| 6 | 可选:Nginx + 域名 + HTTPS |
如有具体框架(如 Express、Koa、NestJS)或数据库(MongoDB/MySQL),可继续提问,我可以提供更详细配置。
CLOUD技术笔记