使用腾讯云服务器搭建 Node.js 后端以支持微信小程序,是一个涉及服务器配置、环境部署、代码开发、安全设置和域名备案的系统工程。以下是完整、清晰的流程指南:
✅ 一、前期准备
1. 注册腾讯云账号
- 访问 腾讯云官网
- 完成实名认证(个人/企业)
2. 购买云服务器(CVM)
- 选择地域(建议选靠近用户的地域,如广州、上海)
- 配置推荐:
- CPU:2核
- 内存:4GB
- 系统:Ubuntu 20.04 LTS 或 CentOS 7+
- 带宽:按量计费或固定带宽(初期可5Mbps)
- 创建安全组规则:开放端口
22(SSH)、80(HTTP)、443(HTTPS)、以及你Node服务使用的端口(如3000)
3. 获取服务器信息
- 公网 IP 地址
- SSH 登录凭据(用户名 + 密码 / 密钥文件)
✅ 二、连接服务器并安装基础环境
1. SSH 登录服务器
ssh root@<你的公网IP>
2. 更新系统
# Ubuntu
sudo apt update && sudo apt upgrade -y
# CentOS
sudo yum update -y
3. 安装 Node.js 和 npm
推荐使用 nvm 管理 Node 版本:
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
4. 安装 PM2(进程管理器,用于后台运行 Node 应用)
npm install -g pm2
5. 安装 Nginx(反向X_X + HTTPS 支持)
# Ubuntu
sudo apt install nginx -y
# CentOS
sudo yum install nginx -y
6. 安装 MySQL 或 MongoDB(根据项目需求)
# MySQL
sudo apt install mysql-server -y
sudo systemctl start mysql
# 或 MongoDB
sudo apt install mongodb -y
sudo systemctl start mongod
✅ 三、部署 Node.js 后端代码
1. 将代码上传到服务器
方式一:Git 拉取
git clone <你的代码仓库地址>
cd your-project
方式二:SCP 上传本地文件夹
scp -r ./your-project/* root@<公网IP>:~/your-project/
2. 安装依赖
cd ~/your-project
npm install
3. 配置环境变量
创建 .env 文件或修改配置文件,填入:
- 数据库连接字符串
- JWT 密钥
- 小程序 AppID 和 AppSecret(如需服务端校验)
- 其他敏感信息
⚠️ 不要将
.env提交到 Git!
4. 启动服务测试
node app.js # 或 package.json 中定义的启动脚本
确保服务在本地端口(如 3000)正常运行。
✅ 四、配置 Nginx 反向X_X
1. 编辑 Nginx 配置
sudo nano /etc/nginx/sites-available/default
替换或添加如下内容:
server {
listen 80;
server_name <你的域名或IP>;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
2. 测试并重载 Nginx
sudo nginx -t
sudo systemctl reload nginx
此时可通过 http://<公网IP> 访问 Node 服务。
✅ 五、申请并配置 SSL 证书(HTTPS 必需)
微信小程序要求所有网络请求必须使用 HTTPS。
方法一:使用 Let’s Encrypt(免费)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d <你的域名>
方法二:腾讯云免费证书
- 登录腾讯云控制台 → SSL 证书管理
- 申请免费 DV 证书
- 下载证书文件(Nginx 格式)
- 上传至服务器
/etc/nginx/ssl/ - 修改 Nginx 配置启用 HTTPS:
server {
listen 443 ssl;
server_name <你的域名>;
ssl_certificate /etc/nginx/ssl/<cert>.pem;
ssl_certificate_key /etc/nginx/ssl/<key>.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://localhost:3000;
...
}
}
# HTTP 自动跳转 HTTPS
server {
listen 80;
server_name <你的域名>;
return 301 https://$server_name$request_uri;
}
6. 重载 Nginx
sudo nginx -t && sudo systemctl reload nginx
✅ 六、域名备案与解析
1. 购买域名(如已在腾讯云可跳过)
- 在腾讯云注册域名
2. 域名备案
- 登录 腾讯云备案管理系统
- 提交备案申请(我国内地服务器必须备案)
- 等待审核(通常 5~20 个工作日)
3. 域名解析
- 在腾讯云 DNSPod 中添加 A 记录:
主机记录: @ 记录值: <你的服务器公网IP> TTL: 10分钟
✅ 七、微信小程序端配置
1. 登录微信公众平台
- 访问 微信公众平台
- 进入「开发管理」→「开发设置」
2. 配置服务器域名
- 在「服务器域名」中添加你的 HTTPS 域名(如
https://api.yourdomain.com) - 注意:只能添加已备案的域名
3. 获取 AppID 和 AppSecret
- 用于后端调用微信接口(如获取 openid、发送模板消息等)
4. 前端代码中配置 request 域名
在 app.json 或 request 请求中确保目标域名与你配置的服务器域名一致。
✅ 八、部署优化与安全加固
1. 使用 PM2 守护进程
pm2 start app.js --name "wechat-api"
pm2 save
pm2 startup
2. 设置防火墙(UFW)
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
3. 定期备份
- 数据库备份脚本
- 代码版本控制(Git)
4. 日志监控
- 使用 PM2 查看日志:
pm2 logs - 或使用 ELK、阿里云 SLS 等工具
✅ 九、测试验证
- 从微信小程序发起请求到你的服务器域名
- 检查是否返回正确数据
- 确认 HTTPS 有效(浏览器锁标志)
- 测试微信相关接口(如登录、支付等)
📌 总结流程图
购买云服务器 → SSH登录 → 安装Node/npm/PM2/Nginx/DB
→ 上传代码 → 安装依赖 → 配置.env → 测试启动
→ 配置Nginx反向X_X → 申请SSL证书 → 配置HTTPS
→ 域名备案 → 解析域名 → 小程序配置服务器域名
→ PM2守护 → 安全加固 → 测试上线
💡 小贴士
- 初期可使用X_X或临时 IP 调试,但上线必须用备案域名+HTTPS
- 微信小程序不支持 HTTP,务必配置 HTTPS
- 建议使用云数据库 RDS 替代本地 MySQL,提升稳定性
- 可结合腾讯云 CDN 提速静态资源
- 考虑使用 Serverless 函数计算(SCF)作为后续演进方向
如需我提供某个环节的详细命令示例(如 PM2 配置、Nginx 完整配置、微信登录后端代码等),欢迎继续提问!
轻量云Cloud