使用腾讯云服务器搭建 Node.js 后端,支持微信小程序开发的完整步骤如下:
一、准备工作
-
注册腾讯云账号
- 访问 腾讯云官网
- 注册并完成实名认证。
-
购买云服务器(CVM)
- 进入「云服务器 CVM」控制台。
- 选择:
- 地域:建议选择离用户近的区域(如上海、广州)。
- 操作系统:推荐
Ubuntu 20.04/22.04 LTS或CentOS 7+。 - 实例规格:新手可选轻量应用服务器或标准型 S2(1核2G 足够测试)。
- 设置登录方式:密钥对 或 密码(推荐密钥更安全)。
- 安全组:确保开放以下端口:
- SSH:22(默认开启)
- HTTP:80
- HTTPS:443
- 自定义端口(如 Node.js 使用的 3000、5000 等)
二、连接到服务器
使用 SSH 工具连接服务器(如 PuTTY、Xshell、Terminal):
ssh root@你的公网IP
# 或
ssh ubuntu@你的公网IP # Ubuntu 镜像默认用户是 ubuntu
三、安装 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 18 # 推荐长期支持版本(LTS)
# 查看版本
node -v
npm -v
方法二:直接下载安装包(Ubuntu 示例)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
四、创建 Node.js 后端项目
- 新建项目目录
mkdir my-node-api
cd my-node-api
npm init -y
- 安装依赖
npm install express cors body-parser dotenv
# 可选:数据库支持
npm install mongoose mysql2
- 创建入口文件
server.js
const express = require('express');
const cors = require('cors');
const app = express();
const PORT = process.env.PORT || 3000;
app.use(cors()); // 允许跨域(小程序需要)
app.use(express.json()); // 解析 JSON 请求体
// 测试接口
app.get('/api/hello', (req, res) => {
res.json({ message: 'Hello from Tencent Cloud!' });
});
app.listen(PORT, '0.0.0.0', () => {
console.log(`Server running at http://0.0.0.0:${PORT}`);
});
注意:绑定
0.0.0.0才能从网络访问。
五、运行 Node.js 服务
node server.js
此时服务应运行在 http://你的公网IP:3000/api/hello
六、配置进程守护(避免关闭终端后停止)
使用 pm2 管理 Node.js 进程:
npm install -g pm2
pm2 start server.js --name "my-api"
pm2 startup # 开机自启
pm2 save # 保存当前进程列表
常用命令:
pm2 statuspm2 logspm2 restart my-api
七、配置域名与 HTTPS(可选但推荐)
-
购买并备案域名
- 在腾讯云购买域名,并完成 ICP 备案(国内必须)。
-
解析域名到服务器公网 IP
- 在「DNS 解析」中添加 A 记录指向你的服务器 IP。
-
申请 SSL 证书
- 腾讯云提供免费 SSL 证书(搜索“SSL 证书”)。
- 下载 Nginx 版本证书。
-
安装 Nginx 并配置反向X_X
sudo apt update
sudo apt install nginx
编辑配置文件:
sudo nano /etc/nginx/sites-available/default
配置示例(支持 HTTPS):
server {
listen 80;
server_name yourdomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/your_domain.crt;
ssl_certificate_key /path/to/your_private.key;
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 nginx -t # 测试配置
sudo systemctl reload nginx
八、小程序端调用 API
在微信小程序中请求你的后端接口:
wx.request({
url: 'https://yourdomain.com/api/hello',
method: 'GET',
success(res) {
console.log(res.data);
},
fail(err) {
console.error(err);
}
})
⚠️ 小程序要求:
- 必须使用 HTTPS 域名。
- 域名需在「小程序管理后台」的「开发管理」→「开发设置」→「服务器域名」中配置。
九、安全与维护建议
-
防火墙设置
- 腾讯云安全组只开放必要端口(22、80、443)。
- 关闭不必要的服务。
-
定期更新系统和软件
sudo apt update && sudo apt upgrade -y
-
日志监控
- 使用
pm2 logs或集成日志服务。
- 使用
-
数据库安全
- 如使用 MongoDB/MySQL,不要暴露在公网,或配置白名单。
总结流程图
腾讯云购买 CVM → SSH 登录 → 安装 Node.js → 创建项目 → 启动服务
↓
使用 PM2 守护进程
↓
配置 Nginx + HTTPS + 域名
↓
小程序通过 HTTPS 调用 API
✅ 至此,你已成功在腾讯云上搭建了支持小程序的 Node.js 后端服务。后续可根据需求扩展数据库、用户认证、API 接口等模块。
如需部署完整项目(含数据库、CI/CD),可进一步使用 Docker、云数据库(TencentDB)、对象存储(COS)等服务。
CLOUD技术博