在微信小程序中连接腾讯云轻量应用服务器(Lighthouse)并部署 Node.js 后端服务,是一个常见的全栈开发场景。下面将详细说明如何搭建整个环境,包括:
- 购买与配置腾讯云轻量服务器
- 部署 Node.js 环境
- 编写简单的 API 服务
- 域名与 HTTPS 配置(推荐)
- 微信小程序连接后端
✅ 一、购买和配置腾讯云轻量应用服务器
1. 登录腾讯云控制台
- 访问:https://cloud.tencent.com
- 搜索「轻量应用服务器」或进入「轻量应用服务器 Lighthouse」
2. 创建实例
- 选择地区(建议靠近用户)
- 选择镜像:推荐选择
Ubuntu或CentOS系统镜像(如 Ubuntu 20.04/22.04 LTS) - 选择套餐(1核2G起步足够测试)
- 设置登录方式:密钥对 或 密码(建议使用密钥更安全)
创建完成后,你会获得公网 IP 地址。
✅ 二、远程连接服务器并安装 Node.js
1. 使用 SSH 连接服务器(Linux/macOS)
ssh root@你的公网IP
# 输入密码或使用私钥
Windows 用户可使用 PuTTY 或 WSL + SSH
2. 安装 Node.js 和 npm
方法一:使用 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
nvm install 18 # 或 20
nvm use 18
验证安装:
node -v # 应输出 v18.x.x
npm -v # 输出版本号
推荐使用 Node.js 18 或 20 LTS 版本,兼容性好。
✅ 三、编写并运行 Node.js 后端服务
1. 创建项目目录
mkdir /root/my-api
cd /root/my-api
npm init -y
npm install express cors
2. 创建 server.js
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors()); // 允许跨域(微信小程序需要)
app.use(express.json());
// 测试接口
app.get('/api/hello', (req, res) => {
res.json({ message: 'Hello from Tencent Cloud Lighthouse!' });
});
// 示例:接收小程序 POST 请求
app.post('/api/data', (req, res) => {
const { name } = req.body;
res.json({ echo: `Hello ${name}, welcome to WeChat Mini Program!` });
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, '0.0.0.0', () => {
console.log(`Server running on http://0.0.0.0:${PORT}`);
});
注意:监听
0.0.0.0才能被X_X访问。
3. 启动服务(临时)
node server.js
此时服务运行在 http://你的IP:3000/api/hello
✅ 四、开放防火墙端口
1. 在腾讯云控制台设置防火墙
- 进入轻量服务器管理页面
- 找到「防火墙」设置
- 添加规则:
- 协议:TCP
- 端口:3000(或你使用的端口)
- 源 IP:0.0.0.0/0(或限制为特定范围)
⚠️ 生产环境建议使用 Nginx 反向X_X到 80/443,并关闭直接暴露 3000 端口。
✅ 五、使用 PM2 持久化运行 Node.js 服务
避免关闭终端后服务停止。
npm install -g pm2
pm2 start server.js --name "wechat-api"
pm2 startup
pm2 save
查看状态:
pm2 status
pm2 logs
✅ 六、绑定域名并配置 HTTPS(推荐)
1. 准备域名
- 注册一个域名(可在腾讯云注册)
- 解析域名到你的轻量服务器公网 IP(A 记录)
例如:api.yourdomain.com → 123.123.123.123
2. 安装 Nginx 并反向X_X
sudo apt update
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
3. 免费 SSL 证书(Let’s Encrypt)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d api.yourdomain.com
之后会自动配置 HTTPS,访问 https://api.yourdomain.com/api/hello
微信小程序要求所有网络请求必须是 HTTPS!
✅ 七、微信小程序连接后端
1. 在小程序 project.config.json 中配置 request 合法域名
进入小程序管理后台:
- 登录 https://mp.weixin.qq.com
- 开发管理 → 开发设置 → 服务器域名
- 添加
request合法域名:https://api.yourdomain.com
2. 小程序代码示例(pages/index/index.js)
Page({
onLoad() {
wx.request({
url: 'https://api.yourdomain.com/api/hello',
method: 'GET',
success: (res) => {
console.log(res.data); // 输出:{ message: "Hello from Tencent Cloud..." }
},
fail: (err) => {
console.error('请求失败', err);
}
});
},
sendData() {
wx.request({
url: 'https://api.yourdomain.com/api/data',
method: 'POST',
data: {
name: 'MiniProgramUser'
},
success: (res) => {
console.log(res.data);
}
});
}
})
✅ 总结:完整流程图
微信小程序
↓ (HTTPS 请求)
域名解析 → 腾讯云轻量服务器
↓
Nginx (80/443) → 反向X_X
↓
Node.js 服务 (3000端口, PM2守护)
✅ 常见问题排查
| 问题 | 解决方案 |
|---|---|
| 小程序提示“不在以下合法域名列表” | 检查后台是否添加了 HTTPS 域名 |
| 请求超时 | 检查防火墙是否开放端口、Nginx 是否运行 |
| Node 服务无法访问 | 使用 curl http://localhost:3000 测试本地是否正常 |
| SSL 证书未生效 | 使用 https:// 而非 http:// |
✅ 参考链接
- 腾讯云轻量服务器文档:https://cloud.tencent.com/document/product/1207
- 微信小程序服务器域名配置:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html
- Let’s Encrypt 免费证书:https://certbot.eff.org
如果你希望我提供一键部署脚本或 Docker 部署方案,也可以继续提问!
轻量云Cloud