使用腾讯云服务器搭建 Node.js 后端以支持微信小程序,是一个常见的全栈开发场景。以下是详细的流程步骤:
一、前期准备
-
注册腾讯云账号
- 访问 腾讯云官网
- 注册并完成实名认证。
-
购买云服务器(CVM)
- 推荐配置:入门级即可(如 1核2G,Ubuntu/CentOS 系统)
- 操作系统建议选择:Ubuntu Server 20.04 LTS 或 CentOS 7+
-
获取服务器信息
- 公网 IP 地址
- 登录用户名(如 ubuntu 或 root)
- 密码或密钥对(用于 SSH 登录)
-
配置安全组规则
- 在腾讯云控制台中,进入「安全组」设置。
- 添加入站规则:
- 协议类型:TCP
- 端口范围:
22(SSH)、80(HTTP)、443(HTTPS)、3000或8080(Node.js 自定义端口) - 源地址:
0.0.0.0/0(测试阶段),生产环境建议限制来源 IP
二、远程连接服务器
使用 SSH 工具连接服务器:
ssh ubuntu@你的公网IP
# 或使用密钥登录
ssh -i /path/to/your-key.pem ubuntu@你的公网IP
三、安装 Node.js 和 npm
- 使用 nvm 安装(推荐方式)
# 下载并安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc
# 安装最新长期支持版 Node.js
nvm install --lts
# 或指定版本,如:
nvm install 18
- 验证安装
node -v # 应输出版本号,如 v18.x.x
npm -v # 输出 npm 版本
四、创建 Node.js 后端项目
- 创建项目目录
mkdir my-weapp-backend
cd my-weapp-backend
npm init -y
- 安装依赖(如 Express)
npm install express cors body-parser dotenv
- 创建入口文件
app.js
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());
app.use(express.json());
// 示例接口:返回用户信息
app.get('/api/user', (req, res) => {
res.json({ name: '张三', openid: req.query.openid });
});
// 微信小程序登录验证接口(可扩展)
app.post('/api/login', (req, res) => {
const { code } = req.body;
// 这里调用微信接口换取 openid(需在后续接入)
res.json({ message: '登录成功', code });
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, '0.0.0.0', () => {
console.log(`Server running on http://0.0.0.0:${PORT}`);
});
- 启动服务测试
node app.js
注意:监听
0.0.0.0而非localhost,以便外部访问。
五、使用 PM2 守护进程管理 Node.js 应用
避免程序退出后服务中断。
- 安装 PM2
npm install -g pm2
- 启动应用
pm2 start app.js --name "weapp-api"
- 设置开机自启
pm2 startup
# 按提示执行生成的命令,例如:
# sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u ubuntu --hp /home/ubuntu
pm2 save
- 常用命令
pm2 logs # 查看日志
pm2 list # 查看进程
pm2 restart app # 重启
pm2 stop app # 停止
六、配置域名与 HTTPS(推荐)
-
购买并备案域名
- 腾讯云支持域名注册和备案(国内服务器需备案才能绑定 80/443 端口)
-
解析域名到服务器 IP
- 在 DNS 控制台添加 A 记录,指向你的公网 IP
-
申请 SSL 证书(免费)
- 腾讯云提供免费 SSL 证书(由 TrustAsia 提供)
- 下载证书(Nginx 格式)
-
安装 Nginx 并配置反向X_X
sudo apt update
sudo apt install nginx -y
- 配置 Nginx(示例
/etc/nginx/sites-available/weapp)
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;
proxy_cache_bypass $http_upgrade;
}
}
- 启用站点并重启 Nginx
sudo ln -s /etc/nginx/sites-available/weapp /etc/nginx/sites-enabled/
sudo nginx -t # 测试配置
sudo systemctl reload nginx
- 使用 Certbot 配置 HTTPS(Let’s Encrypt)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
Certbot 会自动配置 HTTPS 并更新 Nginx 配置。
七、微信小程序端调用后端 API
在小程序 app.js 或页面中请求:
wx.request({
url: 'https://yourdomain.com/api/user',
method: 'GET',
data: { openid: 'xxxxxx' },
success(res) {
console.log(res.data);
}
})
注意:域名必须在小程序后台「开发管理」→「开发设置」→「服务器域名」中配置
request合法域名。
八、后续优化建议
-
数据库集成
- 使用腾讯云 MongoDB / MySQL / PostgreSQL(云数据库服务)
- 或在 CVM 上自行安装 MySQL/MongoDB
-
接口鉴权
- 使用 JWT 或 Session 管理用户状态
- 结合微信登录
code换取openid
-
日志与监控
- 使用 PM2 日志 + 腾讯云 CLS(日志服务)
- 监控服务器资源使用情况
-
自动化部署
- 使用 Git + GitHub Actions / Jenkins 实现 CI/CD
- 或通过 rsync/SCP 自动上传代码
总结流程图
腾讯云购买 CVM → SSH 登录 → 安装 Node.js → 创建 Express 项目
↓
使用 PM2 托管 → 配置 Nginx 反向X_X → 绑定域名 + HTTPS
↓
小程序前端调用 HTTPS 接口 → 实现业务逻辑
✅ 完成以上步骤后,你的微信小程序就可以通过安全的 HTTPS 接口与腾讯云上的 Node.js 后端通信了。
如有需要,我也可以提供完整的项目模板或部署脚本。
云计算HECS