在腾讯云轻量应用服务器(Lighthouse)上部署微信小游戏后端服务,是一个常见且高效的方案。以下是详细的步骤指南,帮助你从零开始完成部署。
一、准备工作
1. 购买并配置轻量应用服务器
- 登录 腾讯云控制台
- 创建一台 轻量应用服务器(建议选择:
- 地域:靠近目标用户(如华南广州)
- 镜像:推荐使用「Ubuntu 20.04 LTS」或「CentOS 7」
- 套餐:至少 1核2G 内存(小游戏初期足够)
- 开放端口:确保开放
80、443、22(SSH)
注意:微信小游戏后端通常使用 HTTPS,因此需要域名和 SSL 证书。
2. 绑定公网 IP 和域名
- 获取服务器的公网 IP
- 注册并解析一个域名(如:
api.yourgame.com)指向该 IP - 建议通过腾讯云 DNSPod 进行域名管理
二、环境搭建
1. 连接服务器(SSH)
ssh root@your_server_ip
2. 安装基础环境
以 Ubuntu 为例:
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装 Node.js(推荐 v16 或 v18)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# 安装 PM2(进程管理)
npm install -g pm2
# 安装 Nginx(反向X_X + HTTPS)
sudo apt install nginx -y
# 安装 Certbot(申请免费 SSL 证书)
sudo apt install certbot python3-certbot-nginx -y
三、部署后端服务
1. 上传或克隆你的后端代码
假设你使用的是 Node.js 后端(Express/Koa/NestJS 等)
# 创建项目目录
mkdir /var/www/wx-game-server && cd /var/www/wx-game-server
# 方式1:上传本地代码(使用 scp)
# scp -r ./backend root@your_ip:/var/www/wx-game-server
# 方式2:从 Git 克隆
git clone https://github.com/yourname/wx-game-backend.git .
2. 安装依赖并测试运行
npm install
# 修改配置文件(如有数据库连接、AppID、AppSecret等)
# config.js 或 .env 文件中填写微信小程序的 AppID 和 AppSecret
# 测试启动(监听 3000 端口)
npm start
# 或 node app.js
确保服务能正常访问:http://your_ip:3000/test
四、配置 Nginx 反向X_X
1. 创建 Nginx 配置文件
sudo nano /etc/nginx/sites-available/wx-game
内容示例:
server {
listen 80;
server_name api.yourgame.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;
}
}
2. 启用站点
sudo ln -s /etc/nginx/sites-available/wx-game /etc/nginx/sites-enabled/
sudo nginx -t # 测试配置
sudo systemctl reload nginx
五、配置 HTTPS(SSL 证书)
使用 Certbot 申请免费 Let’s Encrypt 证书:
sudo certbot --nginx -d api.yourgame.com
按提示操作后,Nginx 会自动配置 HTTPS,并设置定时续期。
完成后访问:https://api.yourgame.com/test 应能正常响应。
六、使用 PM2 守护进程
让后端服务后台运行并自动重启:
# 启动服务
pm2 start app.js --name "wx-game-api"
# 设置开机自启
pm2 startup
pm2 save
常用命令:
pm2 logs # 查看日志
pm2 restart wx-game-api
pm2 list # 查看进程
七、微信小游戏前端调用配置
在微信小游戏的 JS 代码中,发起请求时使用你配置的 HTTPS 域名:
wx.request({
url: 'https://api.yourgame.com/login',
method: 'POST',
data: { code: '...' },
success(res) {
console.log(res.data);
}
});
⚠️ 注意:
- 微信要求所有网络请求必须是 HTTPS
- 域名需在【微信公众平台】的小程序管理后台中配置为「request 合法域名」
八、安全与优化建议
-
防火墙设置:
sudo ufw allow 22 sudo ufw allow 80 sudo ufw allow 443 sudo ufw enable -
数据库:
- 小型项目可用 SQLite 或内存存储
- 中大型建议搭配腾讯云 云数据库 MySQL
-
备份策略:
- 定期备份代码和数据库
- 使用 COS(对象存储)做远程备份
-
监控:
- 使用 PM2 监控内存/CPU
- 或接入腾讯云监控服务
总结
| 步骤 | 内容 |
|---|---|
| 1 | 购买轻量服务器 + 域名解析 |
| 2 | 安装 Node.js、Nginx、PM2 |
| 3 | 部署后端代码并测试 |
| 4 | Nginx 反向X_X |
| 5 | 配置 HTTPS(Certbot) |
| 6 | PM2 守护进程 |
| 7 | 微信小程序配置合法域名 |
✅ 完成以上步骤后,你的微信小游戏后端就已稳定运行在腾讯云轻量服务器上。
如需进一步支持(如数据库集成、WebSocket 实时通信、用户登录流程),可继续扩展。
需要我提供一个完整的 Express 示例后端代码吗?
云小栈