加油
努力

如何在腾讯云轻量应用服务器上部署微信小游戏后端服务?

在腾讯云轻量应用服务器(Lighthouse)上部署微信小游戏后端服务,是一个常见且高效的方案。以下是详细的步骤指南,帮助你从零开始完成部署。


一、准备工作

1. 购买并配置轻量应用服务器

  • 登录 腾讯云控制台
  • 创建一台 轻量应用服务器(建议选择:
    • 地域:靠近目标用户(如华南广州)
    • 镜像:推荐使用「Ubuntu 20.04 LTS」或「CentOS 7」
    • 套餐:至少 1核2G 内存(小游戏初期足够)
    • 开放端口:确保开放 8044322(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 合法域名」

八、安全与优化建议

  1. 防火墙设置

    sudo ufw allow 22
    sudo ufw allow 80
    sudo ufw allow 443
    sudo ufw enable
  2. 数据库

    • 小型项目可用 SQLite 或内存存储
    • 中大型建议搭配腾讯云 云数据库 MySQL
  3. 备份策略

    • 定期备份代码和数据库
    • 使用 COS(对象存储)做远程备份
  4. 监控

    • 使用 PM2 监控内存/CPU
    • 或接入腾讯云监控服务

总结

步骤 内容
1 购买轻量服务器 + 域名解析
2 安装 Node.js、Nginx、PM2
3 部署后端代码并测试
4 Nginx 反向X_X
5 配置 HTTPS(Certbot)
6 PM2 守护进程
7 微信小程序配置合法域名

✅ 完成以上步骤后,你的微信小游戏后端就已稳定运行在腾讯云轻量服务器上。

如需进一步支持(如数据库集成、WebSocket 实时通信、用户登录流程),可继续扩展。

需要我提供一个完整的 Express 示例后端代码吗?

云服务器