将微信小程序部署到腾讯云轻量应用服务器(Tencent Cloud Lighthouse)主要涉及两个部分:
- 后端服务部署:把你的小程序后端 API(如 Node.js、Python、Java 等)部署到轻量应用服务器上。
- 前端代码上传:微信小程序的前端代码通过微信开发者工具上传,不需要部署在服务器上。
⚠️ 注意:微信小程序的前端页面是运行在微信客户端中的,因此你只需将前端代码通过微信开发者工具提交审核和发布。而需要部署的是你自己的后端接口服务(如用户登录、数据获取等),这部分可以部署在腾讯云轻量应用服务器上。
✅ 步骤一:准备轻量应用服务器
- 登录 腾讯云控制台
- 购买并创建一个「轻量应用服务器」实例
- 选择操作系统:推荐
Ubuntu或CentOS - 应用镜像:可选「Docker」、「Node.js」等(根据你的后端语言选择)
- 选择操作系统:推荐
- 获取公网 IP 地址,用于访问你的后端服务
✅ 步骤二:部署后端服务(以 Node.js + Express 为例)
1. 登录服务器(使用 SSH)
ssh root@你的服务器IP
2. 安装 Node.js 和 npm
# Ubuntu 示例
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
验证安装:
node -v
npm -v
3. 上传你的后端代码
方式一:使用 git clone(推荐)
git clone https://github.com/yourname/your-backend-repo.git
cd your-backend-repo
npm install
方式二:使用 scp 从本地上传
scp -r ./server root@你的IP:/root/
4. 启动后端服务
npm start
# 或使用 pm2 守护进程(推荐)
npm install -g pm2
pm2 start app.js --name "my-weapp-api"
5. 配置防火墙(安全组)
确保轻量服务器的防火墙允许你的端口(如 3000、80、443):
- 进入腾讯云控制台 → 轻量应用服务器 → 防火墙
- 添加规则:
- 端口:
3000(或你使用的端口) - 协议:TCP
- 来源:
0.0.0.0/0
- 端口:
✅ 步骤三:配置域名和 HTTPS(可选但推荐)
- 绑定域名
- 在腾讯云注册或解析一个域名,指向你的服务器公网 IP
- 申请 SSL 证书
- 使用 腾讯云 SSL 证书服务 免费申请
- 使用 Nginx 反向X_X
安装 Nginx:
sudo apt install nginx
配置 Nginx 支持 HTTPS 并反向X_X到你的 Node.js 服务(端口 3000):
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
重启 Nginx:
sudo systemctl restart nginx
✅ 步骤四:小程序前端配置请求域名
- 打开 微信开发者工具
- 在
project.config.json或小程序管理后台中配置 request 合法域名:- 登录 微信公众平台
- 进入「开发」→「开发管理」→「开发设置」
- 在「服务器域名」中添加你的 HTTPS 域名:
https://yourdomain.com
小程序要求所有网络请求必须使用 HTTPS,且域名需备案并配置有效 SSL 证书。
✅ 步骤五:上传并发布小程序
- 在微信开发者工具中点击「上传」
- 登录微信公众平台,进入「版本管理」,提交审核
- 审核通过后发布上线
🌟 总结
| 项目 | 部署位置 |
|---|---|
| 小程序前端代码 | 微信开发者工具上传至微信平台 |
| 小程序后端 API | 部署在腾讯云轻量应用服务器 |
| 数据库(如 MySQL、MongoDB) | 可部署在同服务器或使用腾讯云数据库服务 |
🔧 常见问题
-
❌ 请求失败?检查:
- 域名是否备案
- 是否使用 HTTPS
- 服务器防火墙/安全组是否开放端口
- 后端服务是否正在运行(
pm2 list或ps aux | grep node)
-
✅ 推荐使用 PM2 管理 Node.js 进程,防止崩溃。
如果你提供具体的后端技术栈(如 Node.js、Spring Boot、Flask 等),我可以给出更详细的部署脚本和配置示例。
ECLOUD博客