在腾讯云轻量应用服务器(Lighthouse)上部署微信小游戏后端服务,通常涉及环境搭建、代码部署、数据库配置和网络安全设置。以下是完整、可操作的步骤指南:
一、前期准备
-
购买轻量应用服务器
- 登录 腾讯云官网 → 进入「轻量应用服务器」→ 创建实例。
- 推荐配置(根据业务规模调整):
- 系统镜像:Ubuntu 20.04/22.04 LTS 或 CentOS 7/8
- CPU/内存:2核 2GB 起步(开发测试),生产建议 4核 4GB+
- 带宽:5~10Mbps(视并发而定)
- 地域:选择靠近用户的地域(如广州、北京)
-
获取必要信息
- 小程序 AppID(从微信公众平台申请)
- 后端域名(需已备案并解析到服务器公网 IP)
- 微信后台配置的合法域名(需在微信公众平台「开发管理 → 开发设置 → 服务器域名」中添加)
二、基础环境搭建(以 Ubuntu 为例)
1. 连接服务器
ssh root@<你的公网IP>
# 首次登录会提示确认指纹,输入 yes
2. 更新系统 & 安装依赖
sudo apt update && sudo apt upgrade -y
# 安装 Node.js(推荐 v16+ LTS)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
# 安装 Nginx(反向X_X + HTTPS)
sudo apt install -y nginx
# 安装 MySQL / PostgreSQL(可选,若用云数据库则跳过)
sudo apt install -y mysql-server
sudo mysql_secure_installation
# 安装 PM2(进程管理工具)
sudo npm install -g pm2
3. 配置防火墙(轻量服务器默认开放 80/443)
sudo ufw allow 'Nginx Full'
sudo ufw enable
三、部署后端代码
方案 A:使用 Git 拉取项目
cd ~
git clone <你的后端仓库地址>
cd your-backend-project
# 安装依赖
npm install
# 配置环境变量(创建 .env 文件)
cat > .env << EOF
NODE_ENV=production
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
APP_ID=your_appid
SERVER_PORT=3000
EOF
# 启动服务(PM2 守护)
pm2 start app.js --name wx-game-api
pm2 save
pm2 startup
✅ 提示:
app.js替换为你的入口文件(如server.js、index.js)
方案 B:本地打包上传
- 将项目压缩为
.tar.gz - 使用
scp上传:scp project.tar.gz root@<IP>:~/ ssh root@<IP> tar -xzf project.tar.gz cd your-project && npm install && pm2 start ...
四、配置 Nginx 反向X_X(关键!)
编辑 Nginx 配置:
sudo nano /etc/nginx/sites-available/default
替换内容示例(假设后端运行在 localhost:3000):
server {
listen 80;
server_name your-domain.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_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 强制 HTTPS(可选但推荐)
# return 301 https://$host$request_uri;
}
启用并重启 Nginx:
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo nginx -t # 检查配置语法
sudo systemctl reload nginx
五、配置 HTTPS(推荐)
使用 Let’s Encrypt(免费证书)
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com
按提示操作,自动配置 HTTP→HTTPS 重定向及证书续期。
✅ 注意:微信要求后端必须使用 HTTPS,且证书需有效。
六、微信后台配置
- 登录 微信公众平台
- 进入「开发管理」→「开发设置」
- 在 服务器域名 中填写:
- 请求域名:
https://your-domain.com - 上传域名(如需上传头像/素材):同上或单独配置
- 请求域名:
- 确保域名已通过 ICP 备案(中国大陆必须)
⚠️ 未备案域名无法通过微信审核,仅可用于本地调试(需开启「不校验合法域名」临时开关)。
七、监控与运维建议
| 项目 | 推荐工具/方式 |
|---|---|
| 日志查看 | pm2 logs, journalctl -u nginx |
| 性能监控 | 腾讯云监控 + Prometheus + Grafana |
| 自动备份 | 定期 mysqldump 备份数据库;OSS 存储静态资源 |
| 安全加固 | 关闭 SSH 密码登录(改用密钥)、限制 root 远程登录 |
常见问题排查
| 问题 | 解决方案 |
|---|---|
| 微信返回「违规域名」 | 检查域名是否备案、Nginx 是否监听 80/443、是否启用 HTTPS |
| 接口 404/502 | 检查 PM2 进程状态 pm2 status,查看错误日志 pm2 logs |
| 数据库连接失败 | 确认 my.cnf 允许远程访问(bind-address = 0.0.0.0),或改用腾讯云 RDS |
| 微信登录失败 | 核对 AppID 和 Secret 是否正确,检查 code 时效性(仅 5 分钟) |
需要我提供:
- 一个完整的 Express/Koa 后端示例代码?
- Docker 化部署方案(更利于迁移和扩展)?
- 使用腾讯云服务器直接集成云函数(SCF)的轻量化方案?
欢迎告诉我你的技术栈偏好,我可以进一步定制方案 🚀
CLOUD技术笔记