速卖通素材
努力

微信小程序连接腾讯云轻量服务器Node.js环境如何搭建?

服务器

在微信小程序中连接腾讯云轻量应用服务器(Lighthouse)并部署 Node.js 后端服务,是一个常见的全栈开发场景。下面将详细说明如何搭建整个环境,包括:

  1. 购买与配置腾讯云轻量服务器
  2. 部署 Node.js 环境
  3. 编写简单的 API 服务
  4. 域名与 HTTPS 配置(推荐)
  5. 微信小程序连接后端

✅ 一、购买和配置腾讯云轻量应用服务器

1. 登录腾讯云控制台

  • 访问:https://cloud.tencent.com
  • 搜索「轻量应用服务器」或进入「轻量应用服务器 Lighthouse」

2. 创建实例

  • 选择地区(建议靠近用户)
  • 选择镜像:推荐选择 UbuntuCentOS 系统镜像(如 Ubuntu 20.04/22.04 LTS)
  • 选择套餐(1核2G起步足够测试)
  • 设置登录方式:密钥对 或 密码(建议使用密钥更安全)

创建完成后,你会获得公网 IP 地址。


✅ 二、远程连接服务器并安装 Node.js

1. 使用 SSH 连接服务器(Linux/macOS)

ssh root@你的公网IP
# 输入密码或使用私钥

Windows 用户可使用 PuTTYWSL + SSH


2. 安装 Node.js 和 npm

方法一:使用 NVM(推荐)

# 安装 nvm(Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 重新加载 shell 配置
source ~/.bashrc

# 安装最新长期支持版 Node.js
nvm install 18  # 或 20
nvm use 18

验证安装:

node -v  # 应输出 v18.x.x
npm -v   # 输出版本号

推荐使用 Node.js 18 或 20 LTS 版本,兼容性好。


✅ 三、编写并运行 Node.js 后端服务

1. 创建项目目录

mkdir /root/my-api
cd /root/my-api
npm init -y
npm install express cors

2. 创建 server.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 Lighthouse!' });
});

// 示例:接收小程序 POST 请求
app.post('/api/data', (req, res) => {
  const { name } = req.body;
  res.json({ echo: `Hello ${name}, welcome to WeChat Mini Program!` });
});

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 才能被X_X访问。


3. 启动服务(临时)

node server.js

此时服务运行在 http://你的IP:3000/api/hello


✅ 四、开放防火墙端口

1. 在腾讯云控制台设置防火墙

  • 进入轻量服务器管理页面
  • 找到「防火墙」设置
  • 添加规则:
    • 协议:TCP
    • 端口:3000(或你使用的端口)
    • 源 IP:0.0.0.0/0(或限制为特定范围)

⚠️ 生产环境建议使用 Nginx 反向X_X到 80/443,并关闭直接暴露 3000 端口。


✅ 五、使用 PM2 持久化运行 Node.js 服务

避免关闭终端后服务停止。

npm install -g pm2
pm2 start server.js --name "wechat-api"
pm2 startup
pm2 save

查看状态:

pm2 status
pm2 logs

✅ 六、绑定域名并配置 HTTPS(推荐)

1. 准备域名

  • 注册一个域名(可在腾讯云注册)
  • 解析域名到你的轻量服务器公网 IP(A 记录)

例如:api.yourdomain.com123.123.123.123


2. 安装 Nginx 并反向X_X

sudo apt update
sudo apt install nginx -y

编辑配置文件:

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;
    }
}

测试并重启 Nginx:

sudo nginx -t
sudo systemctl restart nginx

3. 免费 SSL 证书(Let’s Encrypt)

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d api.yourdomain.com

之后会自动配置 HTTPS,访问 https://api.yourdomain.com/api/hello

微信小程序要求所有网络请求必须是 HTTPS!


✅ 七、微信小程序连接后端

1. 在小程序 project.config.json 中配置 request 合法域名

进入小程序管理后台:

  • 登录 https://mp.weixin.qq.com
  • 开发管理 → 开发设置 → 服务器域名
  • 添加 request 合法域名:
    https://api.yourdomain.com

2. 小程序代码示例(pages/index/index.js

Page({
  onLoad() {
    wx.request({
      url: 'https://api.yourdomain.com/api/hello',
      method: 'GET',
      success: (res) => {
        console.log(res.data); // 输出:{ message: "Hello from Tencent Cloud..." }
      },
      fail: (err) => {
        console.error('请求失败', err);
      }
    });
  },

  sendData() {
    wx.request({
      url: 'https://api.yourdomain.com/api/data',
      method: 'POST',
      data: {
        name: 'MiniProgramUser'
      },
      success: (res) => {
        console.log(res.data);
      }
    });
  }
})

✅ 总结:完整流程图

微信小程序
     ↓ (HTTPS 请求)
域名解析 → 腾讯云轻量服务器
     ↓
Nginx (80/443) → 反向X_X
     ↓
Node.js 服务 (3000端口, PM2守护)

✅ 常见问题排查

问题 解决方案
小程序提示“不在以下合法域名列表” 检查后台是否添加了 HTTPS 域名
请求超时 检查防火墙是否开放端口、Nginx 是否运行
Node 服务无法访问 使用 curl http://localhost:3000 测试本地是否正常
SSL 证书未生效 使用 https:// 而非 http://

✅ 参考链接

  • 腾讯云轻量服务器文档:https://cloud.tencent.com/document/product/1207
  • 微信小程序服务器域名配置:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html
  • Let’s Encrypt 免费证书:https://certbot.eff.org

如果你希望我提供一键部署脚本或 Docker 部署方案,也可以继续提问!

未经允许不得转载:轻量云Cloud » 微信小程序连接腾讯云轻量服务器Node.js环境如何搭建?