将微信小程序部署到腾讯云轻量应用服务器(Tencent Cloud Lighthouse)是一个常见且高效的方案。以下是完整的部署流程,适用于大多数基于 Node.js、PHP 或其他后端语言的小程序后端服务。
🌐 一、准备工作
-
注册腾讯云账号
- 访问:https://cloud.tencent.com/
- 完成实名认证。
-
购买轻量应用服务器(Lighthouse)
- 进入控制台:https://console.cloud.tencent.com/lighthouse
- 选择地区、配置(建议至少 2核2G,系统 Ubuntu 20.04/22.04)
- 选择镜像:
- 推荐:Ubuntu + Node.js 镜像(或纯 Ubuntu 自行安装环境)
- 设置登录方式:密钥或密码
- 购买并启动服务器
-
获取服务器信息
- 公网 IP 地址
- 登录用户名(如
ubuntu或root) - 密码或 SSH 私钥
🛠️ 二、配置服务器环境(以 Node.js 为例)
1. 连接到服务器
ssh ubuntu@你的公网IP
# 或使用密钥
ssh -i /path/to/your-key.pem ubuntu@你的公网IP
2. 更新系统并安装 Node.js(若未预装)
sudo apt update
sudo apt upgrade -y
# 安装 Node.js(推荐使用 nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 18 # 推荐 LTS 版本
3. 安装 PM2(进程管理工具)
npm install -g pm2
4. 安装 Nginx(反向X_X)
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
📦 三、上传并部署后端代码
1. 上传代码方式(任选其一)
-
方式一:使用 Git
git clone https://github.com/yourname/your-backend.git cd your-backend npm install -
方式二:本地打包上传(如 SCP)
# 本地执行 scp -r ./backend.zip ubuntu@你的IP:/home/ubuntu/服务器上解压:
unzip backend.zip cd your-backend npm install
2. 启动后端服务(使用 PM2)
pm2 start app.js --name "wx-api"
# 或 npm start(确保 package.json 有 start 脚本)
pm2 start npm --name "wx-api" -- start
默认监听端口如
3000,确保代码中监听0.0.0.0而非localhost
🔄 四、配置 Nginx 反向X_X
编辑配置文件:
sudo nano /etc/nginx/sites-available/default
修改 location / 部分,添加反向X_X:
server {
listen 80;
server_name your-domain.com; # 或直接用 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:
sudo nginx -t
sudo systemctl reload nginx
🔐 五、配置 HTTPS(推荐使用 SSL 证书)
-
申请免费 SSL 证书(腾讯云或 Let’s Encrypt)
使用 Certbot(Let’s Encrypt):
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d yourdomain.com若没有域名,可先用 IP + HTTP 调试,但微信小程序要求 HTTPS,上线必须配置域名和 SSL。
-
微信小程序要求
- 后端接口必须使用 HTTPS
- 域名需在小程序管理后台「开发管理」→「开发设置」中配置:
request 合法域名:如https://api.yourdomain.com
🚀 六、开放端口与安全组
- 登录腾讯云控制台 → 轻量服务器 → 防火墙
- 添加规则:
- 端口 80(HTTP)
- 端口 443(HTTPS)
- 端口 22(SSH,可限制 IP)
Nginx 监听 80/443,后端服务监听 3000(内网),无需对外开放 3000。
📱 七、小程序前端配置
在微信开发者工具中:
- 修改
request请求地址为 HTTPS:wx.request({ url: 'https://api.yourdomain.com/login', // ... }) - 在小程序管理后台添加:
- request 合法域名:
https://api.yourdomain.com
- request 合法域名:
✅ 八、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 无法访问服务器 | 检查安全组、防火墙、Nginx 是否运行 |
| 接口返回 404 | 检查 Nginx X_X路径、后端路由 |
| 微信提示域名未备案或不合法 | 确保域名已备案,且在小程序后台配置 |
| HTTPS 无法访问 | 检查证书是否生效,端口 443 是否开放 |
🧩 补充建议
- 使用 PM2 管理进程:
pm2 startup,pm2 save - 日志查看:
pm2 logs wx-api - 域名解析:在腾讯云 DNSPod 添加 A 记录指向服务器 IP
- 数据库:可使用腾讯云数据库 MySQL,或本地 SQLite/MongoDB
📚 参考文档
- 腾讯云轻量服务器:https://cloud.tencent.com/product/lighthouse
- 微信小程序接口规则:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html
- Nginx 配置指南:https://www.nginx.com/
如果你提供具体的技术栈(如 Express、Koa、ThinkPHP 等),我可以给出更详细的部署脚本和配置示例。欢迎继续提问!
云计算导航