使用腾讯云服务器搭建 Node.js 后端以支持微信小程序,是一个常见的开发部署流程。以下是详细的步骤和流程说明:
一、前期准备
-
注册腾讯云账号
- 访问 腾讯云官网
- 注册并完成实名认证。
-
购买云服务器(CVM)
- 推荐配置:入门级即可(如 1核2G,Ubuntu/CentOS 系统)
- 操作系统建议选择 Ubuntu Server(例如 20.04 LTS)或 CentOS
- 开放端口:确保安全组允许
80(HTTP)、443(HTTPS)、22(SSH)等端口
-
获取服务器信息
- 公网 IP 地址
- 登录用户名(如
ubuntu或root) - 密码或密钥文件(用于 SSH 登录)
二、连接到云服务器
使用 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
方法二:直接安装
sudo apt update
sudo apt install nodejs npm -y
验证安装:
node -v
npm -v
四、创建 Node.js 后端项目
- 新建项目目录
mkdir my-node-api
cd my-node-api
npm init -y
- 安装 Express 框架(常用)
npm install express cors dotenv
- 创建入口文件
app.js
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());
app.use(express.json());
// 示例接口:返回欢迎信息
app.get('/api/hello', (req, res) => {
res.json({ message: 'Hello from Tencent Cloud!' });
});
// 微信小程序登录示例(简化)
app.post('/api/login', (req, res) => {
const { code } = req.body;
// 这里可以调用微信接口换取 openid
res.json({ status: 'success', openid: 'mock_openid_123' });
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, '0.0.0.0', () => {
console.log(`Server running on http://0.0.0.0:${PORT}`);
});
注意:绑定
0.0.0.0才能从网络访问。
五、启动服务并测试
node app.js
在浏览器中访问:
http://你的公网IP:3000/api/hello
应返回 JSON 数据。
六、使用 PM2 守护进程(避免断开 SSH 后停止)
- 安装 PM2
npm install -g pm2
- 启动应用
pm2 start app.js --name "my-api"
- 设置开机自启
pm2 startup
pm2 save
- 常用命令
pm2 list # 查看运行进程
pm2 logs # 查看日志
pm2 restart app # 重启
pm2 stop app # 停止
七、配置域名与 HTTPS(可选但推荐)
-
购买并备案域名
- 在腾讯云购买域名,并完成 ICP 备案(国内服务器必须备案才能绑定 80/443 端口)
-
解析域名到服务器 IP
- 在 DNS 解析中添加 A 记录指向你的公网 IP
-
申请 SSL 证书(免费)
- 使用腾讯云 SSL 证书服务申请免费证书
- 下载 Nginx 版本证书
-
安装 Nginx 并配置反向X_X
sudo apt install nginx -y
编辑配置文件:
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/cert.crt;
ssl_certificate_key /path/to/your/private.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;
}
}
重启 Nginx:
sudo nginx -t # 测试配置
sudo systemctl reload nginx
八、微信小程序端调用后端 API
在小程序 app.js 或页面中请求:
wx.request({
url: 'https://yourdomain.com/api/hello',
method: 'GET',
success(res) {
console.log(res.data);
}
})
⚠️ 注意:
- 小程序要求所有请求必须是 HTTPS
- 域名需在【微信公众平台】>【开发管理】>【服务器域名】中配置
request合法域名
九、安全建议
- 关闭不必要的端口(通过安全组)
- 定期更新系统和软件
- 使用环境变量存储敏感信息(如数据库密码)
- 不要在代码中暴露密钥
- 开启防火墙(UFW)
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
十、后续扩展
- 使用 MongoDB/MySQL 存储数据(可搭配腾讯云数据库 TDSQL 或 MongoDB)
- 添加用户认证(JWT)
- 日志监控、错误追踪
- 使用 CI/CD 自动部署(如 GitHub Actions + 腾讯云)
✅ 总结流程图:
腾讯云 CVM → SSH 登录 → 安装 Node.js → 创建 Express 项目 → PM2 启动 → (可选)Nginx + HTTPS → 小程序调用 API
按照以上步骤,你就可以成功搭建一个支持微信小程序的 Node.js 后端服务。
如有需要,我也可以提供完整的 GitHub 示例项目结构。
CLOUD云枢