部署微信小程序到腾讯云服务器是一个常见的需求,尤其适合使用 云开发(CloudBase) 或 自建后端服务 的场景。以下是详细的部署教程,分为两种主流方式:使用腾讯云云开发(推荐新手) 和 自建 Node.js 后端服务(适合进阶用户)。
✅ 方式一:使用腾讯云云开发(CloudBase)—— 推荐新手
腾讯云云开发(Tencent Cloud Base)是微信官方推荐的云服务,支持一键部署、免服务器运维,非常适合微信小程序。
1. 开通腾讯云云开发
- 登录 腾讯云控制台
- 搜索并进入「云开发 CloudBase」
- 创建一个环境(选择按量计费或免费套餐)
- 记下环境 ID
2. 安装云开发 CLI 工具
npm install -g @cloudbase/cli
登录:
tcb login
按照提示扫码登录。
3. 初始化项目
在小程序项目根目录执行:
tcb init
选择「云函数 + 数据库 + 存储」模板,选择你创建的环境。
会生成 cloudbase
相关文件夹。
4. 编写云函数(例如获取用户信息)
在 functions/getUserInfo/index.js
中编写:
exports.main = async (event, context) => {
return {
code: 0,
data: { msg: "Hello from Tencent Cloud!" }
};
};
5. 部署云函数
tcb functions deploy
6. 小程序前端调用云函数
在小程序代码中:
wx.cloud.init({
env: 'your-env-id' // 替换为你的环境 ID
});
wx.cloud.callFunction({
name: 'getUserInfo',
success(res) {
console.log(res.result);
},
fail(err) {
console.error(err);
}
});
✅ 此时你的小程序已通过腾讯云云开发完成部署,无需管理服务器!
✅ 方式二:自建 Node.js 后端服务(传统方式)
适用于需要完全控制后端逻辑的开发者。
1. 购买腾讯云 CVM 服务器
- 登录腾讯云,购买一台 CVM 云服务器(建议 Ubuntu 20.04 LTS)
- 记下公网 IP、用户名(ubuntu)、密码或密钥
2. 连接服务器(使用 SSH)
ssh ubuntu@你的公网IP
3. 安装 Node.js 和 PM2
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
npm install -g pm2
4. 上传你的 Node.js 后端代码
例如使用 scp
上传:
scp -r ./server ubuntu@你的IP:/home/ubuntu/
或使用 Git:
git clone https://github.com/yourname/your-server.git
5. 启动后端服务
进入项目目录:
cd server
npm install
pm2 start app.js --name "wx-api"
确保监听 0.0.0.0 和端口(如 3000)
示例 app.js
(Express):
const express = require('express');
const app = express();
app.get('/api/hello', (req, res) => {
res.json({ msg: "Hello from Tencent Cloud Server!" });
});
app.listen(3000, '0.0.0.0', () => {
console.log('Server running on port 3000');
});
6. 配置安全组(重要!)
- 进入腾讯云控制台 → 云服务器 CVM → 安全组
- 添加规则:允许 TCP 3000 端口(或你使用的端口)从公网访问
7. 小程序前端请求后端
在小程序中:
wx.request({
url: 'http://你的服务器IP:3000/api/hello',
success(res) {
console.log(res.data);
}
});
⚠️ 注意:微信小程序要求域名必须备案且使用 HTTPS。若用于生产,请配置 Nginx + SSL 证书。
✅ 可选:配置域名和 HTTPS(生产环境必需)
- 购买并备案域名
- 申请免费 SSL 证书(腾讯云提供)
- 配置 Nginx 反向X_X
安装 Nginx:
sudo apt install nginx
配置 /etc/nginx/sites-available/default
:
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
使用 腾讯云 SSL 配置工具 自动配置 HTTPS。
📌 总结
方式 | 适合人群 | 是否需要服务器 | 备案要求 |
---|---|---|---|
云开发 CloudBase | 新手、快速上线 | ❌ 不需要 | ❌ 免备案 |
自建 CVM 服务器 | 进阶、定制化需求 | ✅ 需要 | ✅ 域名需备案 |
🔗 参考链接
- 腾讯云云开发:https://cloud.tencent.com/product/tcb
- 微信小程序云开发文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
- 腾讯云 CVM 文档:https://cloud.tencent.com/document/product/213
如果你提供具体的技术栈(如 Express、Koa、NestJS 等),我可以给出更详细的部署脚本和配置。欢迎继续提问!