在腾讯云轻量应用服务器上配置 Node.js 环境来运行微信小游戏(后端服务),通常是指搭建一个用于处理小游戏登录、数据存储、排行榜等逻辑的后端服务。微信小游戏本身运行在微信客户端中,前端是基于 JavaScript 的 Canvas 或 WebGL,而后端可以使用 Node.js 搭建 API 服务。
以下是详细步骤,指导你在 腾讯云轻量应用服务器 上配置 Node.js 环境并部署微信小游戏的后端服务:
第一步:购买并登录轻量服务器
- 登录 腾讯云控制台
- 进入「轻量应用服务器」,创建一台实例(建议选择 Ubuntu 20.04 / 22.04 LTS)
- 记录公网 IP 和登录密码(或使用密钥对)
使用 SSH 登录服务器:
ssh root@你的服务器公网IP
第二步:安装 Node.js
推荐使用 nvm(Node Version Manager)来管理 Node.js 版本。
1. 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
重新加载 shell 配置:
source ~/.bashrc
2. 使用 nvm 安装 Node.js(推荐 LTS 版本)
nvm install 18 # 或 node --lts
验证安装:
node -v
npm -v
第三步:创建微信小游戏后端项目
1. 创建项目目录
mkdir wechat-game-server
cd wechat-game-server
npm init -y
2. 安装必要的依赖
npm install express axios body-parser cors dotenv
可选:使用
pm2做进程守护:npm install -g pm2
第四步:编写简单的后端服务示例
创建 server.js:
const express = require('express');
const axios = require('axios');
const bodyParser = require('body-parser');
const cors = require('cors');
require('dotenv').config();
const app = express();
const PORT = process.env.PORT || 3000;
app.use(cors());
app.use(bodyParser.json());
// 微信小程序 appId 和 appSecret(需替换为你的)
const appId = 'your-appid';
const appSecret = 'your-appsecret';
// 登录接口:接收 code,换取 openid 和 session_key
app.post('/login', async (req, res) => {
const { code } = req.body;
if (!code) {
return res.status(400).json({ error: '缺少 code' });
}
try {
const response = await axios.get(
'https://api.weixin.qq.com/sns/jscode2session',
{
params: {
appid: appId,
secret: appSecret,
js_code: code,
grant_type: 'authorization_code'
}
}
);
const { openid, session_key, errcode, errmsg } = response.data;
if (errcode) {
return res.status(400).json({ error: errmsg });
}
// 此处可保存用户信息到数据库(如 MongoDB/Redis)
res.json({ openid, session_key });
} catch (error) {
res.status(500).json({ error: '请求失败' });
}
});
app.listen(PORT, '0.0.0.0', () => {
console.log(`微信小游戏后端服务运行在 http://0.0.0.0:${PORT}`);
});
⚠️ 注意:
appId和appSecret需要从微信公众平台获取(mp.weixin.qq.com)。
第五步:配置环境变量(安全)
创建 .env 文件:
APP_ID=your_appid_here
APP_SECRET=your_appsecret_here
PORT=3000
修改代码中读取方式:
const appId = process.env.APP_ID;
const appSecret = process.env.APP_SECRET;
将
.env加入.gitignore,避免泄露敏感信息。
第六步:启动服务
方式一:直接运行(测试用)
node server.js
方式二:使用 PM2 守护进程(生产推荐)
pm2 start server.js --name "wechat-game"
pm2 save
pm2 startup # 根据提示执行命令,设置开机自启
查看状态:
pm2 status
第七步:配置防火墙和安全组
确保服务器允许外部访问端口(如 3000):
- 腾讯云控制台 → 轻量服务器 → 防火墙
- 添加规则:放行 TCP 端口
3000(或你使用的端口)
或者使用 Nginx 反向X_X到 80/443 端口(更佳实践)。
第八步(可选):使用 Nginx 反向X_X
安装 Nginx:
apt update
apt install nginx -y
配置反向X_X(编辑 /etc/nginx/sites-available/default):
server {
listen 80;
server_name your-domain-or-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;
}
}
重启 Nginx:
systemctl restart nginx
现在可以通过 http://你的服务器IP 访问服务。
第九步:微信小游戏前端调用
在微信小游戏的 JS 中调用你的后端:
wx.login({
success(res) {
if (res.code) {
wx.request({
url: 'http://你的服务器IP/login',
method: 'POST',
data: { code: res.code },
success(res) {
console.log('登录成功', res.data);
},
fail(err) {
console.error('登录失败', err);
}
});
}
}
});
⚠️ 注意:微信要求域名必须备案且支持 HTTPS 才能上线。开发阶段可用局域网测试或使用本地X_X(如
vconnector工具)。
补充建议
- HTTPS:上线前务必配置 SSL 证书(可用 Let’s Encrypt + Nginx)
- 数据库:可搭配 MongoDB、MySQL 或 Redis 存储用户数据
- 日志监控:使用
pm2 logs查看输出 - CORS:确保前端域名被允许跨域
总结
✅ 你已完成:
- 在腾讯云轻量服务器上安装 Node.js
- 搭建微信小游戏后端 API(登录功能)
- 使用 PM2 守护进程
- 配置 Nginx 反向X_X(可选)
- 实现前后端通信
现在你的服务器已经可以为微信小游戏提供后端支持了!
如有更多需求(如排行榜、数据库集成、WebSocket 实时通信),可进一步扩展。欢迎继续提问!
云小栈