如何在阿里云Linux服务器上部署Node.js小程序后端?

在阿里云Linux服务器上部署 Node.js 小程序后端,可以按照以下步骤进行。假设你使用的是 ECS(Elastic Compute Service) 实例,操作系统为 CentOS 或 Ubuntu


✅ 一、准备工作

  1. 购买并登录阿里云 ECS 实例

    • 登录 阿里云控制台
    • 创建一台 Linux 服务器(推荐 CentOS 7+/Ubuntu 20.04+)
    • 记下公网 IP 地址
    • 配置安全组:开放端口 80(HTTP)、443(HTTPS)、22(SSH),以及你的 Node.js 应用端口(如 3000
  2. 连接服务器(使用 SSH)

    ssh root@你的公网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

# 检查是否安装成功
node -v
npm -v

方法二:直接下载(以 CentOS 为例)

# 下载 Node.js(替换为你需要的版本)
wget https://nodejs.org/dist/v18.17.0/node-v18.17.0-linux-x64.tar.xz

# 解压
tar -xf node-v18.17.0-linux-x64.tar.xz

# 移动到 /usr/local/
sudo mv node-v18.17.0-linux-x64 /usr/local/nodejs

# 添加环境变量
echo 'export PATH=/usr/local/nodejs/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

# 验证
node -v
npm -v

✅ 三、上传你的小程序后端代码

你可以通过以下方式上传代码:

方式 1:使用 Git 克隆项目

git clone https://github.com/yourname/your-nodejs-app.git
cd your-nodejs-app
npm install

方式 2:使用 SCP 上传本地文件

scp -r ./your-project root@你的IP:/root/

然后在服务器上进入目录并安装依赖:

cd /root/your-project
npm install

✅ 四、配置启动脚本与进程守护(使用 PM2)

PM2 可以让 Node.js 应用后台运行,并自动重启。

# 全局安装 PM2
npm install -g pm2

# 启动你的应用(假设入口文件是 app.js 或 server.js)
pm2 start app.js --name "miniapp-backend"

# 设置开机自启
pm2 startup
pm2 save

常用命令:

pm2 list           # 查看运行中的进程
pm2 logs           # 查看日志
pm2 restart app    # 重启应用
pm2 stop app       # 停止应用

✅ 五、配置反向X_X(使用 Nginx)

建议使用 Nginx 做反向X_X,便于管理 HTTPS 和域名。

1. 安装 Nginx

CentOS:

sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

Ubuntu:

sudo apt update
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

2. 配置 Nginx 反向X_X

编辑配置文件:

sudo vim /etc/nginx/conf.d/miniapp.conf

内容示例(假设你的 Node.js 服务监听 3000 端口):

server {
    listen 80;
    server_name your-domain.com;  # 替换为你的域名或公网IP

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

3. 重载 Nginx 配置

sudo nginx -t         # 测试配置
sudo systemctl reload nginx

✅ 六、配置域名和 HTTPS(可选但推荐)

  1. 绑定域名

    • 在阿里云 域名控制台 解析你的域名到服务器公网 IP(A 记录)
  2. 申请免费 SSL 证书(Let’s Encrypt)

使用 Certbot 自动申请:

# 安装 certbot
sudo yum install certbot python3-certbot-nginx -y   # CentOS
# 或
sudo apt install certbot python3-certbot-nginx -y   # Ubuntu

# 申请证书(替换 your-domain.com)
sudo certbot --nginx -d your-domain.com

Certbot 会自动修改 Nginx 配置启用 HTTPS。


✅ 七、小程序前端配置

在微信开发者工具中,确保请求域名已添加到 request 白名单:

  • 登录 微信公众平台
  • 进入「开发」->「开发管理」->「开发设置」
  • 在「服务器域名」中添加你的 HTTPS 域名,如:
    https://your-domain.com

✅ 八、常见问题排查

问题 解决方案
无法访问网站 检查安全组是否开放 80/443 端口
Node.js 无法启动 使用 pm2 logs 查看错误日志
Nginx 502 错误 检查 Node.js 是否在运行,端口是否正确
域名无法解析 检查 DNS 解析记录是否生效

✅ 总结流程图

购买 ECS → SSH 登录 → 安装 Node.js → 上传代码 → 安装 PM2 → 启动服务
      ↓
安装 Nginx → 配置反向X_X → 绑定域名 → 配置 HTTPS → 小程序配置域名

如果你提供具体的技术栈(如 Express/Koa/NestJS)、数据库(MongoDB/MySQL)等,我可以进一步给出详细配置。

未经允许不得转载:云计算 » 如何在阿里云Linux服务器上部署Node.js小程序后端?