使用腾讯云服务器搭建 Node.js 后端,以支持微信小程序的开发,是一个常见的全栈开发场景。以下是详细的流程步骤:
一、前期准备
-
注册腾讯云账号
- 访问 腾讯云官网 注册并实名认证。
-
购买云服务器(CVM)
- 推荐配置:1核2G内存起步(适合测试),系统选择 Ubuntu Server 20.04/22.04 LTS 或 CentOS。
- 开通公网 IP,或绑定弹性公网 IP(EIP)。
- 设置安全组规则(开放端口:22、80、443 等)。
-
获取域名(可选但推荐)
- 如果要使用 HTTPS,建议购买并备案一个域名。
- 在腾讯云控制台申请 SSL 证书(免费可用 TrustAsia)。
-
本地开发环境准备
- 安装 Node.js、npm/yarn、代码编辑器(如 VS Code)。
- 微信开发者工具(用于调试小程序)。
二、远程连接与服务器初始化
-
使用 SSH 连接服务器
ssh root@你的公网IP # 或使用密钥登录 -
更新系统和安装基础软件
sudo apt update && sudo apt upgrade -y # Ubuntu # 或 sudo yum update -y # CentOS -
安装 Node.js 和 npm
- 推荐使用 nvm 安装指定版本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash source ~/.bashrc nvm install 18 # 推荐 LTS 版本 node -v && npm -v
- 推荐使用 nvm 安装指定版本:
-
安装 PM2(进程管理工具)
npm install -g pm2 -
安装 Nginx(反向X_X & HTTPS 支持)
sudo apt install nginx -y sudo systemctl start nginx sudo systemctl enable nginx
三、部署 Node.js 后端服务
-
上传项目代码
- 使用
git clone拉取代码(推荐)git clone https://github.com/yourname/your-nodejs-backend.git - 或使用 SCP 上传本地文件:
scp -r ./backend root@your-ip:/root/
- 使用
-
进入项目目录并安装依赖
cd your-nodejs-backend npm install -
配置环境变量(如数据库连接、端口等)
- 创建
.env文件:PORT=3000 DB_HOST=localhost WX_APPID=your_appid WX_SECRET=your_secret
- 创建
-
启动服务(使用 PM2)
pm2 start app.js --name "wx-api" pm2 save pm2 startup # 设置开机自启 -
验证服务运行
curl http://localhost:3000/api/test
四、配置 Nginx 反向X_X(支持域名和 HTTPS)
-
配置 Nginx 虚拟主机
编辑配置文件:sudo nano /etc/nginx/sites-available/wx-api内容示例:
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; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } -
启用站点
sudo ln -s /etc/nginx/sites-available/wx-api /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx -
申请并配置 SSL 证书(HTTPS)
-
在腾讯云申请免费 SSL 证书,下载 Nginx 版本。
-
上传证书到服务器(如
/etc/nginx/ssl/)。 -
修改 Nginx 配置:
server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /etc/nginx/ssl/your_domain_bundle.crt; ssl_certificate_key /etc/nginx/ssl/your_domain.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 nginx -t && sudo systemctl reload nginx
-
五、微信小程序端对接
-
在小程序中发起请求
- 请求地址为你的域名接口,例如:
wx.request({ url: 'https://yourdomain.com/api/login', method: 'POST', data: { code: '...' }, success(res) { console.log(res.data); } });
- 请求地址为你的域名接口,例如:
-
确保合法域名配置
- 登录 微信公众平台
- 进入「开发管理」→「开发设置」→「服务器域名」
- 将
https://yourdomain.com添加到 request 合法域名
⚠️ 注意:微信小程序只允许 HTTPS 请求,且必须配置合法域名。
六、安全与维护建议
-
防火墙设置
- 腾讯云控制台安全组仅开放必要端口(22、80、443)。
-
数据库安全
- 若使用 MongoDB/MySQL,不要暴露在公网,或使用腾讯云数据库(如云数据库 CDB)。
-
日志监控
pm2 logs wx-api -
定期备份
- 备份代码、数据库、SSL 证书。
-
自动重启与健康检查
- 使用 PM2 的监控功能:
pm2 monit
- 使用 PM2 的监控功能:
总结:完整流程图
腾讯云服务器 → 安装 Node.js + PM2 + Nginx
↓
部署后端 API 服务(监听 3000)
↓
Nginx 反向X_X + HTTPS(443)
↓
微信小程序通过 HTTPS 调用接口
↓
数据交互完成
✅ 完成以上步骤后,你的微信小程序就可以通过腾讯云的 Node.js 后端进行数据交互了。
如需进一步扩展,可以加入:
- JWT 鉴权
- WebSocket 实时通信
- MySQL/MongoDB 数据库
- CI/CD 自动部署(如 Jenkins/GitHub Actions)
需要我提供一个完整的 Node.js + Express 示例项目结构吗?
CDNK博客