在腾讯云轻量应用服务器上配置 Node.js 服务用于微信小程序,是一个常见的后端部署场景。以下是详细的步骤指南:
✅ 一、准备工作
-
购买并登录轻量应用服务器
- 登录 腾讯云控制台
- 购买一台轻量应用服务器(推荐选择 Ubuntu 或 CentOS 系统)
- 获取公网 IP 地址
-
本地准备
- 微信开发者工具
- 小程序代码(前端)
- 后端 Node.js API 代码(如 Express)
✅ 二、连接服务器(SSH)
使用 SSH 工具连接服务器,例如:
ssh root@你的公网IP
首次登录可能需要修改密码。
✅ 三、安装 Node.js 和 npm
方法 1:使用 nvm 安装(推荐)
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc
# 安装最新稳定版 Node.js
nvm install --lts
# 检查是否安装成功
node -v
npm -v
方法 2:直接下载安装包(Ubuntu 示例)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
✅ 四、上传并部署 Node.js 项目
-
上传代码到服务器
可以使用
scp命令从本地上传:scp -r ./your-node-project root@你的IP:/root/或使用 Git 克隆项目(推荐):
git clone https://github.com/yourname/your-node-api.git cd your-node-api npm install -
编写简单的 Express 服务示例
创建
app.js:const express = require('express'); const app = express(); const PORT = 3000; app.use(express.json()); // 小程序可调用的接口 app.get('/api/hello', (req, res) => { res.json({ message: 'Hello from Tencent Cloud!' }); }); app.listen(PORT, '0.0.0.0', () => { console.log(`Server running at http://0.0.0.0:${PORT}`); }); -
安装依赖
npm init -y npm install express
✅ 五、启动服务并设置后台运行
使用 PM2 让 Node.js 服务后台持续运行:
npm install -g pm2
# 启动应用
pm2 start app.js --name "my-wechat-app"
# 设置开机自启
pm2 startup
pm2 save
查看状态:
pm2 status
✅ 六、配置防火墙和安全组
-
腾讯云控制台设置安全组
- 进入轻量服务器管理页面
- 找到「防火墙」或「安全组」
- 添加规则:允许 TCP 端口
3000(或其他你使用的端口)的入站流量
示例:
协议类型:TCP
端口:3000
源 IP:0.0.0.0/0(或限制为微信服务器 IP 段,生产环境建议限制) -
服务器内部防火墙(如 ufw)
sudo ufw allow 3000
✅ 七、域名与 HTTPS(生产推荐)
小程序要求所有网络请求必须使用 HTTPS。
1. 绑定域名
- 在腾讯云购买并备案一个域名
- 解析域名到服务器公网 IP(A 记录)
2. 配置 Nginx 反向X_X + SSL
安装 Nginx:
sudo apt update
sudo apt install nginx
配置站点(/etc/nginx/sites-available/default):
server {
listen 80;
server_name 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;
}
}
3. 使用腾讯云免费 SSL 证书
- 进入 SSL 证书管理控制台
- 申请免费证书(TrustAsia)
- 下载 Nginx 版本证书,上传到服务器
- 修改 Nginx 配置启用 HTTPS:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/your_domain.crt;
ssl_certificate_key /path/to/your_domain.key;
location / {
proxy_pass http://127.00.1:3000;
# 同上 proxy 设置...
}
}
# HTTP 跳转 HTTPS
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}
重启 Nginx:
sudo nginx -t
sudo systemctl restart nginx
✅ 八、小程序端调用 API
在小程序中发起请求:
wx.request({
url: 'https://yourdomain.com/api/hello',
method: 'GET',
success(res) {
console.log(res.data);
},
fail(err) {
console.error(err);
}
})
确保:
- 域名已添加到小程序管理后台的「request 合法域名」中
- 使用 HTTPS
- 不使用 IP 直接访问(微信禁止)
✅ 九、后续维护建议
- 使用
pm2 logs查看日志 - 定期备份数据
- 监控服务器资源使用情况
- 使用 CI/CD 自动部署(如 GitHub Actions)
📌 总结
| 步骤 | 内容 |
|---|---|
| 1 | 购买轻量服务器,SSH 登录 |
| 2 | 安装 Node.js 和 npm |
| 3 | 上传项目并安装依赖 |
| 4 | 使用 PM2 启动服务 |
| 5 | 配置安全组开放端口 |
| 6 | 绑定域名 + Nginx + HTTPS |
| 7 | 小程序调用 HTTPS 接口 |
如有具体框架(如 Koa、NestJS)或数据库(MongoDB、MySQL)需求,也可继续扩展。
需要我提供完整的项目结构或自动化部署脚本吗?
CLOUD云枢