在微信小程序中连接腾讯云轻量应用服务器(Lighthouse)并搭建 Node.js 环境,可以按照以下步骤进行。整个过程包括:购买与配置轻量服务器、部署 Node.js 环境、启动后端服务、配置域名和 HTTPS、小程序调用接口。
一、准备工作
-
注册腾讯云账号
- 访问 腾讯云官网
- 注册并实名认证。
-
购买轻量应用服务器(Lighthouse)
- 进入 轻量应用服务器控制台
- 选择「创建实例」
- 配置建议:
- 地域:选择离用户近的地区(如广州、上海)
- 镜像:选择「自定义镜像」或「应用镜像」中的 Ubuntu / CentOS(推荐 Ubuntu 20.04 或 22.04)
- 实例套餐:1核2G 足够用于开发测试
- 开放端口:确保开放
80、443、3000(或其他你使用的端口)
-
获取服务器信息
- 记下公网 IP 地址
- 获取登录密码或 SSH 密钥(建议使用密钥登录更安全)
二、远程连接服务器(SSH)
使用终端(Mac/Linux)或工具(Windows)
ssh root@你的公网IP
# 输入密码或使用私钥登录
Windows 用户可使用 PuTTY 或 WSL + SSH。
三、安装 Node.js 环境
1. 更新系统包
sudo apt update && sudo apt upgrade -y
2. 安装 Node.js(推荐使用 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(如 v18.x)
nvm install 18
# 检查版本
node -v # 应输出 v18.x
npm -v
四、部署简单的 Node.js 后端服务
1. 创建项目目录
mkdir /home/myapp && cd /home/myapp
2. 初始化项目
npm init -y
npm install express cors
3. 创建 server.js
const express = require('express');
const cors = require('cors');
const app = express();
const PORT = 3000;
// 允许跨域(微信小程序需要)
app.use(cors());
app.use(express.json());
// 测试接口
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'才能被网络访问。
五、运行 Node.js 服务
node server.js
此时服务运行在 http://你的IP:3000/api/hello
⚠️ 注意:生产环境建议使用 PM2 管理进程。
使用 PM2 守护进程(推荐)
npm install -g pm2
pm2 start server.js --name "my-wechat-app"
pm2 startup
pm2 save
六、配置防火墙和安全组
1. 腾讯云控制台设置安全组
进入 轻量服务器控制台 → 实例 → 安全组
确保允许以下规则:
| 协议类型 | 端口范围 | 来源 |
|---|---|---|
| TCP | 3000 | 0.0.0.0/0 |
| TCP | 80 | 0.0.0.0/0 |
| TCP | 443 | 0.0.0.0/0 |
生产建议只允许必要端口。
2. 本地防火墙(可选)
sudo ufw allow 3000
七、配置域名与 HTTPS(推荐用于小程序)
微信小程序要求请求必须使用 HTTPS 协议。
方案一:使用 Nginx + 免费 SSL 证书(Let's Encrypt)
1. 安装 Nginx
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
2. 绑定域名(假设你有一个域名:api.yourdomain.com)
- 在域名服务商处将
api.yourdomain.com解析到你的服务器公网 IP。
3. 安装 Certbot 获取免费 SSL 证书
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d api.yourdomain.com
Certbot 会自动配置 Nginx 并启用 HTTPS。
4. 配置 Nginx 反向X_X
编辑配置文件:
sudo nano /etc/nginx/sites-available/default
修改为:
server {
listen 80;
server_name api.yourdomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name api.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/api.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.yourdomain.com/privkey.pem;
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;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx
八、微信小程序调用接口
1. 在小程序 app.json 中配置合法域名
{
"request": {
"header": {
"content-type": "application/json"
},
"timeout": 60000,
"urlPrefix": "https://api.yourdomain.com"
}
}
2. 小程序代码示例
wx.request({
url: 'https://api.yourdomain.com/api/hello',
method: 'GET',
success(res) {
console.log(res.data); // 输出 { message: "Hello from Tencent Cloud Lighthouse!" }
},
fail(err) {
console.error('请求失败', err);
}
});
✅ 必须使用 HTTPS,且域名已备案并配置 SSL。
九、常见问题排查
| 问题 | 解决方案 |
|---|---|
无法访问 http://IP:3000 |
检查安全组、防火墙、Node 是否监听 0.0.0.0 |
| 微信报“网络错误” | 检查是否使用 HTTPS,域名是否配置正确 |
| SSL 证书失效 | 使用 certbot renew 自动续期 |
| 域名未备案 | 国内服务器需域名备案才能使用 80/443 端口 |
十、进阶建议
- 使用 MongoDB / MySQL 存储数据(可在轻量服务器上安装或使用腾讯云数据库)
- 使用 CI/CD 自动部署(GitHub Actions + SCP)
- 监控服务:
pm2 monit
✅ 总结流程:
购买服务器 → SSH 登录 → 安装 Node.js → 编写 API → PM2 启动 → 配置 Nginx + HTTPS → 小程序调用
如有具体需求(如连接数据库、上传文件等),可继续提问!
CLOUD云计算