微信小程序的后台程序(即服务端)是独立于小程序前端运行的,通常部署在云服务器或云开发环境中。以下是常见的几种部署方式及步骤:
一、选择部署方式
1. 传统服务器部署(自建服务器)
适用于有运维能力的团队。
常用技术栈:
- 后端语言:Node.js、Java、Python、PHP、Go 等
- Web 框架:Express(Node.js)、Spring Boot(Java)、Flask/Django(Python)
- 数据库:MySQL、MongoDB、PostgreSQL 等
- 服务器:阿里云 ECS、腾讯云 CVM、华为云等
部署步骤:
-
准备服务器
- 购买云服务器(如阿里云ECS)
- 配置安全组,开放端口(如80、443、3000等)
-
配置环境
- 登录服务器(SSH)
- 安装 Node.js / Python / Java 等运行环境
- 安装 Nginx(用于反向和 HTTPS)
- 安装数据库(如 MySQL)
-
上传代码
- 使用
git clone或scp命令上传代码到服务器
- 使用
-
启动服务
node app.js # Node.js 示例推荐使用 PM2 守护进程管理:
pm2 start app.js --name "my-wechat-api" -
配置域名与 HTTPS
- 绑定域名(需备案)
- 使用 Nginx 配置反向
- 申请 SSL 证书(可用 Let’s Encrypt 免费证书)
-
在小程序中调用接口
- 修改小程序 request 请求地址为你的域名:
wx.request({ url: 'https://api.yourdomain.com/login' })
- 修改小程序 request 请求地址为你的域名:
2. 云开发(CloudBase / TCB)——推荐新手使用
微信官方推荐方案,无需自己搭建服务器,集成度高。
优点:
- 免服务器运维
- 自动 HTTPS
- 内置数据库、存储、云函数
- 与小程序无缝集成
部署步骤:
- 在微信开发者工具中开通「云开发」
- 创建云开发环境(腾讯云提供)
- 编写云函数(如登录、获取数据)
// 云函数 example exports.main = async (event, context) => { return { msg: "Hello from cloud!" }; } - 本地上传并部署云函数:
- 右键云函数目录 → “上传并部署”
- 小程序前端调用:
wx.cloud.callFunction({ name: 'example', success: res => console.log(res) })
✅ 适合中小型项目、快速原型开发
3. 第三方云平台(Serverless)
如:阿里云函数计算、腾讯云 SCF、Vercel、Render、Fly.io 等。
示例:使用 Vercel 部署 Node.js API
- 将后端代码推送到 GitHub
- 登录 Vercel,导入项目
- 自动构建部署,获得 HTTPS 域名
- 在小程序中调用该域名接口
注意:需处理跨域(CORS),但 Serverless 通常支持 API 路由。
二、关键注意事项
| 项目 | 要求 |
|---|---|
| HTTPS | 小程序要求所有网络请求必须使用 HTTPS |
| 域名备案 | 国内服务器域名必须备案 |
| request 域名配置 | 在「小程序管理后台」→「开发」→「开发设置」中添加 request 合法域名 |
| 安全 | 避免暴露敏感信息,使用 token 验证用户身份 |
三、推荐流程(新手)
- 使用微信开发者工具创建项目
- 开通云开发(TCB)
- 编写云函数处理业务逻辑(如登录、数据读写)
- 前端通过
wx.cloud.callFunction调用 - 上线前在「版本管理」提交审核
总结
| 方式 | 适合人群 | 复杂度 | 成本 |
|---|---|---|---|
| 云开发(TCB) | 新手、中小项目 | ⭐☆☆☆☆ | 免费起步 |
| 自建服务器 | 有运维经验者 | ⭐⭐⭐⭐☆ | 中高 |
| 第三方 Serverless | 快速部署需求 | ⭐⭐☆☆☆ | 低至免费 |
如果你提供具体的技术栈(比如你用的是 Node.js 还是 Python),我可以给出更详细的部署教程。
云计算