阿里云轻量级服务器如何部署Node.js后端支持小程序运行?

在阿里云轻量级服务器(如轻量应用服务器 Lighthouse)上部署 Node.js 后端以支持微信小程序运行,可以按照以下步骤进行操作。整个过程包括:购买服务器、连接服务器、安装 Node.js、部署项目、配置反向(可选)、设置域名和 HTTPS 等。


✅ 一、准备工作

  1. 购买阿里云轻量应用服务器

    • 登录 阿里云控制台
    • 搜索“轻量应用服务器”或“Lighthouse”
    • 选择系统镜像:推荐 Ubuntu 20.04 / 22.04CentOS 7/8
    • 地域、带宽等根据需求选择(建议至少 1Mbps 带宽)
  2. 获取服务器信息

    • 公网 IP 地址
    • SSH 登录用户名(如 ubunturoot
    • 密码或密钥对

✅ 二、连接服务器(SSH)

使用终端(Mac/Linux)或工具(Windows 推荐 PuTTY 或 Xshell):

ssh root@你的公网IP
# 或
ssh ubuntu@你的公网IP

首次登录可能需要修改密码。


✅ 三、更新系统并安装必要软件

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y

# CentOS
sudo yum update -y

✅ 四、安装 Node.js 和 npm

推荐使用 NodeSource 安装较新版本的 Node.js(如 v18.x)

Ubuntu 示例:

# 添加 NodeSource 仓库(以 Node.js 18 为例)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

# 安装 Node.js 和 npm
sudo apt-get install -y nodejs

# 验证安装
node -v  # 应输出 v18.x.x
npm -v

CentOS 示例:

# 使用 NodeSource 安装 Node.js 18
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs

node -v
npm -v

✅ 五、上传并部署 Node.js 项目

假设你有一个用于支持小程序的后端项目(如 Express/Koa)。

1. 安装 Git 并克隆项目

sudo apt install git -y  # Ubuntu
# 或
sudo yum install git -y  # CentOS

git clone https://github.com/yourname/your-node-project.git
cd your-node-project

2. 安装依赖

npm install
# 或生产环境只安装生产依赖
npm install --production

3. 修改配置(如数据库地址、端口等)

确保 app.jsserver.js 监听 0.0.0.0 而不是 localhost,例如:

app.listen(3000, '0.0.0.0', () => {
  console.log('Server running on port 3000');
});

小程序前端请求的是公网 IP 或域名,所以必须监听所有接口。


✅ 六、使用 PM2 守护进程管理 Node.js 应用

避免服务断开后进程退出。

1. 安装 PM2

npm install -g pm2

2. 启动项目

pm2 start app.js --name "my-wechat-api"

3. 设置开机自启

pm2 startup
# 按提示执行生成的命令,如:
# sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu

4. 保存当前进程列表

pm2 save

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

1. 阿里云控制台配置安全组

  • 进入轻量服务器管理页面
  • 找到“防火墙”或“安全组”
  • 添加规则:放行你的服务端口(如 3000)的 TCP 入方向流量
    • 端口范围:3000
    • 源 IP:0.0.0.0/0(或限制为小程序服务器 IP)

2. 本地防火墙(可选)

# Ubuntu 使用 ufw
sudo ufw allow 3000

# CentOS 使用 firewalld
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload

✅ 八、绑定域名 + HTTPS(推荐)

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

方案:使用 Nginx 反向 + 免费 SSL 证书(Let’s Encrypt)

1. 安装 Nginx
sudo apt install nginx -y    # Ubuntu
# 或
sudo yum install nginx -y    # CentOS

启动并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx
2. 配置 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;
    }
}

测试配置并重启 Nginx:

sudo nginx -t
sudo systemctl restart nginx
3. 申请免费 SSL 证书(Let’s Encrypt)

安装 Certbot:

sudo apt install certbot python3-certbot-nginx -y

申请证书:

sudo certbot --nginx -d api.yourdomain.com

按提示操作,Certbot 会自动配置 HTTPS 并设置自动续期。

完成后,访问 https://api.yourdomain.com 即可安全通信。


✅ 九、小程序端调用 API

在小程序代码中发起请求:

wx.request({
  url: 'https://api.yourdomain.com/user/info',
  method: 'GET',
  success(res) {
    console.log(res.data)
  }
})

确保域名已添加到小程序管理后台的「request 合法域名」中。


✅ 十、后续维护建议

  • 定期备份服务器数据
  • 使用日志监控:pm2 logs
  • 更新 Node.js 和系统安全补丁
  • 使用 GitHub Actions 或脚本自动化部署

📌 总结流程

步骤 内容
1 购买阿里云轻量服务器(Ubuntu/CentOS)
2 SSH 登录服务器
3 安装 Node.js 和 npm
4 上传项目代码(Git 或 SCP)
5 安装依赖并用 PM2 启动
6 配置安全组开放端口
7 使用 Nginx + HTTPS(必做,小程序要求)
8 小程序调用 HTTPS 接口

如有具体项目结构或框架(如 Express、Koa、NestJS),可进一步提供帮助配置。欢迎继续提问!