将微信小程序连接到腾讯云CVM(Cloud Virtual Machine)实例,本质上是让小程序通过网络请求与部署在CVM上的后端服务进行通信。以下是新手实现这一目标的完整步骤指南:
✅ 一、准备工作
-
注册并登录腾讯云账号
- 访问 https://cloud.tencent.com
- 完成实名认证。
-
开通 CVM 实例
- 进入控制台 → 云服务器 CVM → 创建实例。
- 选择:
- 地域(建议靠近用户)
- 操作系统(如 Ubuntu/CentOS)
- 公网IP(或后续绑定弹性公网IP)
- 安全组:必须放行 HTTP(80)、HTTPS(443) 和你自定义的端口(如3000)
-
获取服务器公网 IP
- 在 CVM 控制台查看实例的“公网IP地址”。
-
微信小程序账号准备
- 注册微信小程序账号:https://mp.weixin.qq.com
- 获取 AppID(开发设置中可见)
✅ 二、在 CVM 上部署后端服务
示例:使用 Node.js + Express 部署一个简单 API
- 登录 CVM(通过 SSH)
ssh root@你的公网IP
# 或者使用密钥方式登录
- 安装 Node.js 和 Nginx(可选)
# Ubuntu 示例
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v && npm -v
- 创建一个简单的后端服务
mkdir /home/api && cd /home/api
npm init -y
npm install express cors
创建 server.js:
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors()); // 允许跨域(小程序需要)
app.use(express.json());
// 简单接口
app.get('/api/hello', (req, res) => {
res.json({ message: 'Hello from Tencent Cloud CVM!' });
});
const PORT = 3000;
app.listen(PORT, '0.0.0.0', () => {
console.log(`Server running at http://0.0.0.0:${PORT}`);
});
- 启动服务
node server.js
注意:
0.0.0.0表示监听所有网络接口,确保外部可访问。
- (推荐)使用 PM2 守护进程运行
npm install -g pm2
pm2 start server.js --name "my-api"
pm2 startup
pm2 save
✅ 三、配置安全组和防火墙
- 登录腾讯云控制台 → CVM → 安全组 → 编辑入站规则。
- 添加规则允许以下端口:
- 类型:自定义 TCP
- 端口:
3000(或你使用的端口) - 源:
0.0.0.0/0(测试用,生产建议限制范围)
⚠️ 生产环境不建议开放所有 IP,但小程序调试阶段可以临时放开。
✅ 四、微信小程序发起请求
-
在微信开发者工具中创建项目
- 使用你的小程序 AppID。
-
修改
app.json允许 request 域名(仅正式上线需要)
小程序要求所有网络请求必须在「合法域名」列表中。开发阶段可以关闭域名校验。
- 开发者工具右上角 → 详情 → 项目配置 → 勾选「不校验合法域名…」
- 发送请求代码(
pages/index/index.js)
Page({
onLoad() {
wx.request({
url: 'http://你的CVM公网IP:3000/api/hello',
method: 'GET',
success: (res) => {
console.log('收到数据:', res.data);
wx.showToast({
title: '连接成功',
icon: 'success'
});
},
fail: (err) => {
console.error('请求失败:', err);
wx.showToast({
title: '连接失败',
icon: 'error'
});
}
});
}
});
✅ 五、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 请求超时 | 检查 CVM 安全组是否放行端口 |
| 连接被拒绝 | 确认后端服务正在运行且监听 0.0.0.0 |
| 小程序提示 domain not allowed | 开发阶段关闭域名校验,或在微信公众平台添加合法域名 |
| 后端无法访问网络 | 检查 CVM 是否有公网出带宽 |
✅ 六、进阶建议(生产环境)
-
使用 Nginx 反向X_X + HTTPS
- 将 3000 端口的服务X_X到 80/443
- 申请免费 SSL 证书(腾讯云提供)
-
绑定域名
- 购买域名 → 解析到 CVM 公网 IP
- 微信小程序后台配置该域名到 request 合法列表
-
使用云数据库(如 TencentDB for MySQL/MongoDB)
- 更安全稳定的数据存储
-
使用 Serverless(可选)
- 腾讯云 SCF(云函数)更适合小程序后端,无需维护 CVM
✅ 总结流程图
微信小程序
↓ (wx.request)
公网 IP:CVM:3000
↓
Node.js 服务运行中
↓
返回 JSON 数据
✅ 完成以上步骤后,你的微信小程序就可以成功连接到腾讯云 CVM 上的后端服务了!
如有具体技术栈(Python/Django、Java/Spring、PHP等),也可提供对应部署指导。欢迎继续提问!
云小栈