将微信小程序部署到腾讯云服务器(CVM)是一个常见的需求,但需要明确一个核心概念:小程序本身不能直接“部署”在服务器上。
✅ 正确理解:
- 前端页面(WXML、WXSS、JS、JSON 等)必须托管在微信官方服务器上,通过上传代码包并提交审核/发布。
- 后端服务(API 接口、数据库、业务逻辑)可以部署在腾讯云 CVM 或其他云平台上。
- 小程序前端通过 HTTPS 请求访问你部署在后端的 API 接口。
✅ 完整部署流程(小程序 + 腾讯云 CVM)
第一步:准备腾讯云 CVM 服务器
- 登录 腾讯云控制台
- 购买一台 Linux 云服务器(推荐 Ubuntu 20.04/22.04 或 CentOS 7+)
- 配置安全组规则:
- 开放端口
80(HTTP)、443(HTTPS) - 如需自定义端口,也需放行(如
3000、8080等)
- 开放端口
- 获取服务器公网 IP 地址
第二步:搭建后端服务(示例:Node.js + Express)
你也可以使用 Python、Java、Go、PHP 等语言,原理相同。
1. 登录服务器
ssh root@你的服务器IP
2. 安装 Node.js 和 npm
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
3. 创建项目目录并初始化
mkdir ~/my-miniprogram-backend
cd ~/my-miniprogram-backend
npm init -y
npm install express cors body-parser
4. 编写简单 API(app.js)
const express = require('express');
const cors = require('cors');
const app = express();
const PORT = process.env.PORT || 3000;
app.use(cors());
app.use(express.json());
// 示例接口
app.get('/api/hello', (req, res) => {
res.json({ message: 'Hello from Tencent Cloud!' });
});
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
5. 启动服务
node app.js
⚠️ 测试是否可访问:浏览器打开
http://你的服务器IP:3000/api/hello
第三步:配置域名与 HTTPS(必需!)
微信小程序要求所有网络请求必须使用 HTTPS,且域名需在微信公众平台备案。
1. 购买并解析域名
- 在腾讯云注册域名(如
yourdomain.com) - 将域名 A 记录指向你的 CVM 公网 IP
2. 申请 SSL 证书(免费)
- 进入 腾讯云 SSL 证书控制台
- 申请免费 DV 证书
- 下载 Nginx 版证书文件(
.crt和.key)
3. 安装 Nginx 并配置反向X_X + HTTPS
sudo apt install nginx
sudo cp yourdomain.crt /etc/nginx/ssl/
sudo cp yourdomain.key /etc/nginx/ssl/
编辑 Nginx 配置 /etc/nginx/sites-available/default:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/nginx/ssl/yourdomain.crt;
ssl_certificate_key /etc/nginx/ssl/yourdomain.key;
location / {
proxy_pass http://localhost: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;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
重启 Nginx:
sudo nginx -t
sudo systemctl restart nginx
现在可通过 https://yourdomain.com/api/hello 访问后端。
第四步:配置微信小程序后台域名白名单
- 登录 微信公众平台
- 进入「开发」→「开发管理」→「开发设置」
- 在「服务器域名」中,添加你的域名:
- request 合法域名:
https://yourdomain.com - (可选)uploadFile / downloadFile 合法域名同上
- request 合法域名:
❗ 注意:域名必须已完成 ICP 备案,否则无法添加成功。
第五步:修改小程序前端代码
在小程序的 JS 文件中,将请求地址改为你的 HTTPS 域名:
wx.request({
url: 'https://yourdomain.com/api/hello',
method: 'GET',
success(res) {
console.log(res.data);
}
})
第六步:上传小程序代码并发布
- 使用微信开发者工具导入项目
- 点击「上传」,填写版本号和描述
- 提交审核 → 发布上线
🔒 安全建议
- 使用 systemd 或 PM2 管理 Node.js 进程,避免终端关闭后服务中断
npm install -g pm2 pm2 start app.js --name mybackend pm2 startup pm2 save - 定期更新系统和依赖包
- 使用防火墙(ufw/firewalld)限制非必要端口
- 启用日志监控(如 ELK、Prometheus + Grafana)
🔄 替代方案(更简化)
| 如果你不想自己维护服务器,可以考虑: | 方案 | 说明 |
|---|---|---|
| 腾讯云 SCF(云函数) | 无服务器架构,自动扩缩容,适合轻量 API | |
| 腾讯云 TKE / ECS + Docker | 容器化部署,便于扩展 | |
| LeanCloud / Bmob 等 BaaS 平台 | 提供后端即服务,免运维 |
如有具体技术栈(如 Java/Spring Boot、Python/Django、MySQL 等),我可以提供更详细的部署指南。欢迎补充你的后端语言和需求!
CLOUD云