在微信小程序中连接腾讯云轻量应用服务器(Lighthouse)并搭建 Node.js 后端环境,是一个常见的开发流程。以下是详细的步骤指南,帮助你从零开始搭建一个基于腾讯云轻量服务器的 Node.js 服务,并让微信小程序能够与其通信。
🌐 一、准备工作
1. 购买腾讯云轻量应用服务器(Lighthouse)
- 登录 腾讯云官网
- 搜索“轻量应用服务器”
- 选择配置(建议至少 1核2G,系统选 Ubuntu 20.04 或 CentOS 7+)
- 镜像可先选“纯净版”系统(如 Ubuntu),不选预装环境
- 设置登录方式:推荐使用密钥对或密码登录
🛠️ 二、远程连接服务器
使用 SSH 连接到你的轻量服务器:
ssh root@你的服务器公网IP
# 输入密码或使用私钥
建议修改默认密码,更新系统:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian # 或 sudo yum update -y # CentOS
🧱 三、安装 Node.js 环境
方法一:使用 nvm 安装(推荐)
# 安装 nvm(Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc
# 安装最新 LTS 版本的 Node.js
nvm install --lts
# 或指定版本,如:
nvm install 18
# 验证安装
node -v
npm -v
📁 四、部署简单的 Node.js 服务(Express 示例)
1. 创建项目目录
mkdir /root/my-node-api
cd /root/my-node-api
npm init -y
npm install express
2. 创建 app.js
// app.js
const express = require('express');
const app = express();
const PORT = 3000;
app.get('/api/hello', (req, res) => {
res.json({ message: 'Hello from Tencent Cloud Lighthouse!' });
});
app.listen(PORT, '0.0.0.0', () => {
console.log(`Server running at http://0.0.0.0:${PORT}`);
});
注意:必须监听
0.0.0.0,否则无法从外部访问。
🔌 五、启动服务并设置后台运行
使用 PM2(推荐)
npm install -g pm2
pm2 start app.js --name "my-wechat-api"
pm2 startup
pm2 save
查看状态:
pm2 status
🔐 六、配置防火墙和安全组
1. 腾讯云控制台设置安全组
进入【轻量应用服务器控制台】 → 找到你的实例 → 【防火墙】
添加规则:
- 协议类型:自定义 TCP
- 端口:3000(或你使用的端口)
- 源 IP:0.0.0.0/0(或限制为微信服务器 IP,但调试时可放开)
⚠️ 生产环境建议用 Nginx 反向X_X到 80/443 端口,更安全且便于 HTTPS。
🔄 七、(可选)使用 Nginx 反向X_X(推荐用于生产)
1. 安装 Nginx
sudo apt install nginx -y # Ubuntu
2. 配置反向X_X
编辑配置文件:
sudo nano /etc/nginx/sites-available/default
加入如下 server 配置(替换为你的域名或直接用 IP):
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 restart nginx
🔒 八、申请 SSL 证书(HTTPS,微信要求)
微信小程序强制要求 HTTPS 请求(不能使用 HTTP)。
推荐方案:使用 Let’s Encrypt + Certbot
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
如果没有域名,可以先用测试 HTTPS 工具(如 ngrok X_X),但正式上线必须有备案域名和 HTTPS。
📱 九、微信小程序发起请求
在微信小程序中使用 request 请求你的 API:
// pages/index/index.js
Page({
onLoad() {
wx.request({
url: 'https://yourdomain.com/api/hello', // 必须是 HTTPS
method: 'GET',
success(res) {
console.log(res.data); // 输出:{ message: "Hello from Tencent Cloud..." }
},
fail(err) {
console.error('请求失败:', err);
}
});
}
});
小程序后台配置 request 合法域名
登录 微信公众平台 → 开发管理 → 开发设置 → 服务器域名
将你的域名添加到 request 合法域名 中:
https://yourdomain.com
⚠️ 不支持 IP 地址,必须是备案过的域名。
✅ 总结:完整流程图
微信小程序
↓ (HTTPS 请求)
域名解析 → 腾讯云轻量服务器
↓
Nginx (80/443 端口)
↓
反向X_X → Node.js (3000)
↓
返回 JSON 数据
💡 常见问题排查
| 问题 | 解决方法 |
|---|---|
| 小程序请求失败 | 检查域名是否备案、HTTPS 是否生效、安全组是否开放端口 |
| 无法访问 Node 服务 | 检查 listen('0.0.0.0') 和防火墙 |
| PM2 启动后自动退出 | 查看日志 pm2 logs |
| 微信提示“不在以下 request 合法域名列表中” | 去公众平台配置域名 |
🧩 进阶建议
- 使用 MongoDB/MySQL 存储数据
- 添加 JWT 鉴权
- 使用 CI/CD 自动部署(GitHub Actions + SCP)
- 配合云函数(CloudBase)混合部署
如果你需要,我可以提供一套完整的 GitHub 项目模板(含 Express + MySQL + 微信登录示例)。
如有具体需求(如用户登录、数据库连接等),欢迎继续提问!
秒懂云