在腾讯云服务器上搭建微信小程序后端,是一个常见的开发需求。以下是详细的步骤指南,帮助你从零开始部署一个支持微信小程序的后端服务。
一、准备工作
-
注册并登录腾讯云
- 访问 腾讯云官网
- 注册账号并完成实名认证。
-
购买云服务器(CVM)
- 推荐配置:入门级(如 1核2G,50GB 系统盘),操作系统选择 Ubuntu 20.04 或 CentOS 7。
- 开放端口:确保安全组中开放了以下端口:
22(SSH 登录)80(HTTP)443(HTTPS)3000或8080(自定义服务端口,根据你的应用)
-
准备域名(可选但推荐)
- 微信小程序要求后端接口必须使用 HTTPS 协议,且域名需备案。
- 可在腾讯云购买并备案域名,然后申请免费 SSL 证书。
-
微信小程序账号
- 注册 微信公众平台 并创建小程序。
- 获取
AppID和AppSecret(用于用户登录等)。
二、登录服务器并安装环境
1. 使用 SSH 登录服务器
ssh root@你的服务器公网IP
2. 安装 Node.js(推荐 v16+)
# Ubuntu/Debian 示例
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
# 验证
node -v
npm -v
其他方式:也可使用 nvm 安装特定版本。
3. 安装 PM2(进程管理工具)
npm install -g pm2
4. 安装 Nginx(反向X_X & HTTPS)
sudo apt update
sudo apt install nginx -y
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
三、开发或上传后端代码
方式一:本地开发 → 上传到服务器
-
在本地编写 Node.js 后端(Express/Koa/NestJS 等)
// server.js 示例 const express = require('express'); const app = express(); app.get('/api/hello', (req, res) => { res.json({ message: 'Hello from Tencent Cloud!' }); }); const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server running on port ${PORT}`); }); -
使用
scp或 Git 上传代码到服务器# 使用 scp scp -r ./your-project root@your-server-ip:/root/myapp # 或使用 git clone(推荐) git clone https://github.com/yourname/your-backend.git
四、运行后端服务
进入项目目录,安装依赖并用 PM2 启动:
cd /root/myapp
npm install
# 使用 PM2 启动
pm2 start server.js --name "wx-api"
pm2 save
pm2 startup # 设置开机自启
测试服务是否运行:
curl http://localhost:3000/api/hello
五、配置 Nginx 反向X_X + HTTPS
1. 配置 Nginx 站点
编辑配置文件:
sudo nano /etc/nginx/sites-available/default
内容示例(HTTP 转发):
server {
listen 80;
server_name yourdomain.com; # 替换为你的域名
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;
}
}
测试配置并重启:
sudo nginx -t
sudo systemctl reload nginx
2. 申请并配置 HTTPS(SSL)
- 在腾讯云控制台申请免费 SSL 证书(SSL 证书管理)
- 下载 Nginx 版本证书,上传到服务器(如
/ssl/your_domain/) - 修改 Nginx 配置启用 HTTPS:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /ssl/your_domain/fullchain.pem;
ssl_certificate_key /ssl/your_domain/private.key;
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;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# HTTP 自动跳转 HTTPS
server {
listen 80;
server_name yourdomain.com;
return 301 https://$server_name$request_uri;
}
重启 Nginx:
sudo systemctl restart nginx
六、小程序端调用接口
在微信小程序中发起请求:
// app.js 或页面中
wx.request({
url: 'https://yourdomain.com/api/hello',
method: 'GET',
success(res) {
console.log(res.data);
},
fail(err) {
console.error(err);
}
});
注意:必须在小程序管理后台「开发管理」→「开发设置」中将
yourdomain.com添加到 request 合法域名 中。
七、其他建议
- 数据库:可搭配腾讯云 云数据库 MySQL 或 MongoDB。
- 存储:文件上传可使用 COS(对象存储)。
- 日志监控:使用
pm2 logs查看输出,或接入腾讯云日志服务。 - 自动部署:结合 GitHub/GitLab Webhook 实现自动化部署。
总结
✅ 搭建流程概要:
- 购买 CVM 并配置安全组
- 安装 Node.js + Nginx + PM2
- 上传并运行后端代码
- 配置域名和 HTTPS(Nginx + SSL)
- 小程序配置合法域名并调用 API
如有具体技术栈(如 Express、Koa、ThinkJS 等),可进一步提供详细配置方案。欢迎继续提问!
ECLOUD博客