在腾讯云轻量应用服务器上配置 Node.js 服务用于微信小程序,是一个常见且实用的部署方案。以下是详细的操作步骤:
✅ 一、准备工作
-
购买并登录腾讯云轻量应用服务器
- 登录 腾讯云控制台
- 购买「轻量应用服务器」(Lighthouse),推荐选择 Ubuntu 或 CentOS 系统(本文以 Ubuntu 20.04 为例)
- 获取公网 IP 地址和登录密码(或密钥)
-
本地连接服务器
使用 SSH 工具(如终端、PuTTY、Xshell)连接:ssh root@你的服务器公网IP输入密码完成登录。
✅ 二、安装 Node.js 和 npm
方法一:使用 nvm 安装(推荐)
# 安装 nvm(Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 重新加载配置
source ~/.bashrc
# 查看可用版本
nvm list-remote
# 安装长期支持版(如 v18.x)
nvm install 18
# 设置默认使用
nvm use 18
nvm alias default 18
方法二:直接下载安装包(备用)
# 下载 Node.js 压缩包(以 v18.17.0 为例)
cd /tmp
wget https://nodejs.org/dist/v18.17.0/node-v18.17.0-linux-x64.tar.xz
# 解压到 /usr/local/
sudo mkdir -p /usr/local/lib/nodejs
sudo tar -xJf node-v18.17.0-linux-x64.tar.xz -C /usr/local/lib/nodejs --strip-components=1
# 配置环境变量
echo 'export PATH=/usr/local/lib/nodejs/bin:$PATH' >> ~/.profile
source ~/.profile
验证安装
node -v # 应输出 v18.x.x
npm -v # 输出版本号
✅ 三、上传并运行你的 Node.js 后端项目
-
上传代码方式(任选其一)
-
方式1:Git 克隆
git clone https://github.com/yourname/your-node-project.git cd your-node-project -
方式2:使用 SCP 从本地上传
scp -r ./your-project root@your-server-ip:/root/
-
-
安装依赖
cd your-project npm install -
测试运行
修改app.js或server.js中监听地址为0.0.0.0,例如:app.listen(3000, '0.0.0.0', () => { console.log('Server running on port 3000'); });启动服务:
node app.js
✅ 四、使用 PM2 守护进程(防止退出)
# 全局安装 pm2
npm install -g pm2
# 启动项目
pm2 start app.js --name "my-mini-program-api"
# 设置开机自启
pm2 startup
pm2 save
常用命令:
pm2 status # 查看状态
pm2 logs # 查看日志
pm2 restart app # 重启
pm2 stop app # 停止
✅ 五、配置防火墙和安全组
-
腾讯云控制台设置安全组
- 进入轻量服务器控制台 → 找到你的实例 → 安全组
- 添加规则:允许 自定义 TCP 端口(如 3000)
- 协议类型:TCP
- 端口:3000
- 源 IP:0.0.0.0/0(或限制为小程序服务器 IP)
-
服务器本地防火墙(Ubuntu 默认无 ufw,可跳过或启用)
sudo ufw allow 3000
✅ 六、域名与 HTTPS(推荐用于小程序)
小程序要求接口必须是 HTTPS 协议。
步骤:
-
绑定域名
- 在腾讯云注册或解析一个域名,如
api.yourdomain.com - DNS 解析指向你的轻量服务器公网 IP
- 在腾讯云注册或解析一个域名,如
-
使用 Nginx 反向X_X + SSL
sudo apt update sudo apt install nginx -y -
配置 Nginx
编辑配置文件:sudo nano /etc/nginx/sites-available/default内容示例:
server { listen 80; server_name api.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; } } -
申请免费 SSL 证书(Let's Encrypt)
安装 Certbot:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d api.yourdomain.com自动配置 HTTPS,Nginx 会重定向 80 → 443。
-
重启 Nginx
sudo systemctl restart nginx
✅ 七、小程序端调用 API
在微信小程序中请求你的接口:
wx.request({
url: 'https://api.yourdomain.com/user/info',
method: 'GET',
success(res) {
console.log(res.data)
}
})
确保:
- 域名已备案(国内服务器需要)
- 域名已添加到小程序管理后台「开发管理」→「开发设置」→「request 合法域名」
✅ 总结流程图
小程序 → HTTPS (Nginx + SSL) → 反向X_X → Node.js (PM2守护) → 数据库/业务逻辑
↑
腾讯云轻量服务器 (Ubuntu + 安全组放行)
🔒 注意事项
- 确保 MongoDB/MySQL 等数据库也做好安全配置(不要暴露 27017/3306 到公网)
- 定期更新系统和软件:
sudo apt update && sudo apt upgrade - 使用
.env文件管理敏感信息(如数据库密码、API密钥)
如有具体框架(如 Express、Koa、NestJS)或数据库需求,可进一步补充说明,我可以提供更详细的配置示例。
CLOUD云计算