在微信小程序中连接腾讯云轻量应用服务器(Lighthouse)并搭建 Node.js 后端服务,是一个非常常见的开发场景。以下是详细的步骤指南,帮助你从零开始搭建一个基于腾讯云轻量服务器的 Node.js 环境,并让微信小程序与之通信。
✅ 一、准备工作
1. 购买腾讯云轻量应用服务器(Lighthouse)
- 登录 腾讯云官网
- 进入 轻量应用服务器控制台
- 选择地区、镜像(推荐使用「Ubuntu」或「CentOS」系统)
- 配置防火墙:开放
80、443、3000(或其他自定义端口)
推荐选择带「Node.js」预装环境的镜像(如无,可手动安装)
✅ 二、登录服务器并配置 Node.js 环境
1. 使用 SSH 登录服务器(以 Ubuntu 为例)
ssh root@你的服务器公网IP
输入密码后进入系统。
2. 安装 Node.js(如果未预装)
方法一:使用 nvm 安装(推荐)
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc
# 安装最新稳定版 Node.js
nvm install --lts
# 检查版本
node -v
npm -v
方法二:直接下载二进制包(备用)
参考官方文档:https://nodejs.org/
3. 创建项目目录并初始化
mkdir /var/www/my-api
cd /var/www/my-api
npm init -y
npm install express cors dotenv
✅ 三、编写简单的 Node.js 服务(Express 示例)
创建 app.js:
// app.js
const express = require('express');
const cors = require('cors');
const app = express();
const PORT = process.env.PORT || 3000;
// 允许跨域(微信小程序需要)
app.use(cors());
app.use(express.json());
// 测试接口
app.get('/api/hello', (req, res) => {
res.json({ message: 'Hello from Tencent Cloud Lighthouse!', time: new Date() });
});
// 微信小程序可调用的接口示例
app.post('/api/user', (req, res) => {
const { name } = req.body;
res.json({ code: 0, data: { id: 1, name: name, from: 'Node.js on Lighthouse' } });
});
app.listen(PORT, '0.0.0.0', () => {
console.log(`Server is running on http://0.0.0.0:${PORT}`);
});
注意:监听
0.0.0.0才能被网络访问
✅ 四、启动服务并设置后台运行
1. 使用 PM2 启动(推荐,防止进程退出)
npm install -g pm2
pm2 start app.js --name "my-wechat-api"
pm2 save
pm2 startup # 设置开机自启(按提示执行命令)
✅ 五、配置防火墙和安全组
1. 腾讯云控制台设置
- 进入轻量服务器管理页面
- 找到「防火墙」设置
- 添加规则:
- 协议:TCP
- 端口:3000(或你使用的端口)
- 来源:0.0.0.0/0(或限制为微信服务器 IP 段,但通常不限制)
⚠️ 生产建议使用 Nginx 反向X_X到 80/443 并启用 HTTPS
✅ 六、微信小程序中调用接口
1. 在微信开发者工具中编写请求代码
// pages/index/index.js
Page({
onLoad() {
wx.request({
url: 'http://你的服务器公网IP:3000/api/hello',
method: 'GET',
success(res) {
console.log('响应数据:', res.data);
},
fail(err) {
console.error('请求失败:', err);
}
});
}
});
✅ 七、(可选)配置域名 + HTTPS(生产推荐)
1. 购买并备案域名
- 在腾讯云注册域名,并完成 ICP 备案
2. 解析域名到服务器公网 IP
- DNS 解析:A 记录指向你的轻量服务器 IP
3. 使用 Nginx 反向X_X + SSL
安装 Nginx
sudo apt update
sudo apt install nginx -y
配置反向X_X(示例)
编辑 /etc/nginx/sites-available/default:
server {
listen 80;
server_name api.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
启用 HTTPS(使用免费 SSL 证书)
使用 腾讯云 SSL 证书服务 或 Certbot:
sudo apt install certbot python3-certbot-nginx -y
certbot --nginx -d api.yourdomain.com
✅ 八、修改小程序 request 地址为 HTTPS 域名
wx.request({
url: 'https://api.yourdomain.com/api/hello',
// ...
})
小程序要求所有网络请求必须使用 HTTPS(本地调试除外)
✅ 总结流程图
微信小程序
↓ (HTTPS 请求)
腾讯云域名 + SSL
↓
Nginx 反向X_X
↓
Node.js 服务 (运行在 3000 端口)
↓
PM2 守护进程 + 轻量服务器
✅ 常见问题排查
| 问题 | 解决方案 |
|---|---|
| 小程序请求失败 | 检查域名是否备案、是否使用 HTTPS |
| 无法访问 3000 端口 | 检查腾讯云防火墙是否放行 |
| 服务启动但无法访问 | 检查 Node.js 是否监听 0.0.0.0 而非 localhost |
| PM2 日志查看 | pm2 logs my-wechat-api |
如果你希望我提供完整的 GitHub 示例项目结构或部署脚本,也可以告诉我!祝你开发顺利 🚀
云计算HECS