走啊走
加油

腾讯云轻量服务器如何配置Node.js服务用于小程序?

服务器价格表

在腾讯云轻量应用服务器上配置 Node.js 服务用于微信小程序,是一个常见且实用的部署方案。以下是详细的操作步骤:


✅ 一、准备工作

  1. 购买并登录腾讯云轻量应用服务器

    • 登录 腾讯云控制台
    • 购买「轻量应用服务器」(Lighthouse),推荐选择 Ubuntu 或 CentOS 系统(本文以 Ubuntu 20.04 为例)
    • 获取公网 IP 地址和登录密码(或密钥)
  2. 本地连接服务器
    使用 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. 上传代码方式(任选其一)

    • 方式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/
  2. 安装依赖

    cd your-project
    npm install
  3. 测试运行
    修改 app.jsserver.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      # 停止

✅ 五、配置防火墙和安全组

  1. 腾讯云控制台设置安全组

    • 进入轻量服务器控制台 → 找到你的实例 → 安全组
    • 添加规则:允许 自定义 TCP 端口(如 3000)
      • 协议类型:TCP
      • 端口:3000
      • 源 IP:0.0.0.0/0(或限制为小程序服务器 IP)
  2. 服务器本地防火墙(Ubuntu 默认无 ufw,可跳过或启用)

    sudo ufw allow 3000

✅ 六、域名与 HTTPS(推荐用于小程序)

小程序要求接口必须是 HTTPS 协议。

步骤:

  1. 绑定域名

    • 在腾讯云注册或解析一个域名,如 api.yourdomain.com
    • DNS 解析指向你的轻量服务器公网 IP
  2. 使用 Nginx 反向X_X + SSL

    sudo apt update
    sudo apt install nginx -y
  3. 配置 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;
       }
    }
  4. 申请免费 SSL 证书(Let's Encrypt)

    安装 Certbot:

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

    自动配置 HTTPS,Nginx 会重定向 80 → 443。

  5. 重启 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)或数据库需求,可进一步补充说明,我可以提供更详细的配置示例。