在腾讯云轻量应用服务器上搭建 Node.js 后端服务来支持微信小程序,是一个非常常见且实用的部署方案。下面我将为你详细说明整个流程,从购买服务器到部署 Node.js 服务并连接微信小程序。
✅ 一、准备工作
1. 购买腾讯云轻量应用服务器
- 登录 腾讯云官网
- 进入「轻量应用服务器」控制台
- 创建实例:
- 地域:选择离用户近的(如广州、上海)
- 镜像:推荐选择 Ubuntu Server 20.04 LTS 或 CentOS 7
- 套餐:1核2G起步足够(用于开发测试)
- 开放端口:确保开放
22(SSH)、80(HTTP)、443(HTTPS),以及你 Node 服务用的端口(如3000)
⚠️ 注意:安全组规则中要允许你的 Node.js 端口(比如 3000)入站!
✅ 二、远程连接服务器
使用 SSH 工具连接服务器:
ssh root@你的服务器公网IP
输入密码或使用密钥登录。
✅ 三、安装 Node.js 和 npm
以 Ubuntu 为例:
# 更新包管理器
sudo apt update
# 安装 Node.js(推荐使用 nvm 管理版本)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc
# 安装 Node.js(推荐 LTS 版本)
nvm install 16 # 或 18 / 20
# 检查是否安装成功
node -v
npm -v
✅ 四、上传或克隆你的 Node.js 项目
方法1:使用 Git 克隆项目(推荐)
git clone https://github.com/yourname/your-node-project.git
cd your-node-project
npm install
方法2:本地打包上传(使用 SCP 或宝塔等面板)
# 本地命令行上传文件
scp -r ./your-project root@your-server-ip:/root/
✅ 五、编写简单的 Node.js 服务示例(供小程序调用)
创建一个简单的 API 接口:
// server.js
const express = require('express');
const app = express();
app.use(express.json());
// 示例接口:返回用户信息
app.get('/api/user', (req, res) => {
res.json({ name: '张三', age: 25 });
});
// 小程序登录接口(可扩展)
app.post('/api/login', (req, res) => {
const { code } = req.body;
// 此处可调用微信接口换取 openid
res.json({ msg: '登录成功', code });
});
app.listen(3000, '0.0.0.0', () => {
console.log('Server is running on http://0.0.0.0:3000');
});
安装 Express:
npm init -y
npm install express
运行服务:
node server.js
✅ 六、使用 PM2 守护进程(防止崩溃退出)
npm install -g pm2
pm2 start server.js --name "my-app"
pm2 startup # 开机自启
pm2 save # 保存当前进程列表
常用命令:
pm2 status
pm2 logs
pm2 restart my-app
pm2 delete my-app
✅ 七、配置 Nginx 反向(推荐)
1. 安装 Nginx
sudo apt install nginx -y
2. 配置反向
编辑配置文件:
sudo nano /etc/nginx/sites-available/default
内容如下:
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;
}
}
3. 重启 Nginx
sudo nginx -t # 测试配置
sudo systemctl reload nginx
现在你可以通过 http://你的IP 访问你的 Node 服务。
✅ 八、域名与 HTTPS(可选但推荐)
1. 绑定域名
- 在腾讯云购买域名
- 解析 A 记录指向你的轻量服务器公网 IP
2. 免费 SSL 证书(Let’s Encrypt)
使用 Certbot:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
之后自动配置 HTTPS,加密访问更安全。
✅ 九、微信小程序调用后端 API
在小程序代码中请求你的接口:
wx.request({
url: 'https://yourdomain.com/api/user',
method: 'GET',
success(res) {
console.log(res.data);
}
})
⚠️ 注意:
- 必须使用 HTTPS(正式上线要求)
- 域名需在小程序后台「开发管理」→「开发设置」中添加到 request 合法域名列表
✅ 十、常见问题排查
| 问题 | 解决方法 |
|---|---|
| 无法访问 3000 端口 | 检查腾讯云安全组是否放行该端口 |
| Node 服务启动但X_X无法访问 | 确保监听 0.0.0.0 而非 localhost |
| 微信开发者工具提示域名不合法 | 登录小程序后台添加 request 域名 |
| Nginx 502 Bad Gateway | 检查 Node 服务是否正常运行 |
✅ 总结
✅ 你已经完成了:
- 购买并连接腾讯云轻量服务器
- 安装 Node.js 环境
- 部署 Node.js 服务(支持小程序 API)
- 使用 PM2 守护进程
- 配置 Nginx 反向 + HTTPS
- 小程序前端调用后端接口
如果你提供具体的项目结构或需求(如:是否需要数据库 MongoDB/MySQL?是否需要微信登录?),我可以进一步帮你定制化部署方案。
需要我生成一个完整的模板项目吗?欢迎继续提问!
ECLOUD博客