走啊走
加油

京东云服务器如何配置PM2守护进程?

服务器价格表

在京东云服务器(如京东云的云主机 CVM)上配置 PM2 守护进程,可以确保你的 Node.js 应用程序在后台稳定运行,并在系统重启或应用崩溃时自动重启。以下是详细步骤:


一、准备工作

  1. 登录京东云服务器
    使用 SSH 登录到你的京东云服务器:

    ssh root@your-server-ip
  2. 更新系统包(可选)

    yum update -y    # CentOS/RedHat
    # 或
    apt update       # Ubuntu/Debian

二、安装 Node.js 和 npm

PM2 是基于 Node.js 的进程管理器,需要先安装 Node.js。

方法一:使用 nvm 安装(推荐)

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

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

# 安装最新 LTS 版本的 Node.js
nvm install --lts

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

方法二:直接安装 Node.js

以 CentOS 为例:

curl -sL https://rpm.nodesource.com/setup_lts.x | bash -
yum install -y nodejs

三、全局安装 PM2

npm install -g pm2

验证安装:

pm2 --version

四、启动你的 Node.js 应用

假设你的项目路径为 /root/myapp,入口文件是 app.js

cd /root/myapp
pm2 start app.js --name "my-node-app"

常用命令:

pm2 list                    # 查看运行中的进程
pm2 logs my-node-app        # 查看日志
pm2 restart my-node-app     # 重启应用
pm2 stop my-node-app        # 停止应用
pm2 delete my-node-app      # 删除应用

五、设置 PM2 开机自启

为了让服务器重启后 PM2 自动恢复之前运行的应用,需配置开机自启。

  1. 生成开机启动命令

    pm2 startup

    执行后会输出一段命令,例如:

    [PM2] Init System found: systemd
    [PM2] To setup the Startup Script, run:
    sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u your_username --hp /home/your_username

    复制并执行它(注意替换用户名和路径)。

  2. 保存当前进程列表

    pm2 save

    这样重启后 PM2 会自动拉起之前保存的应用。


六、(可选)配置反向X_X(Nginx)

如果你希望用域名访问应用,建议搭配 Nginx 反向X_X。

示例 Nginx 配置:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;  # 你的 Node.js 端口
        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:

systemctl restart nginx

七、安全建议

  • 使用防火墙开放必要端口(如 80、443、22)。
  • 避免以 root 身份长期运行应用,建议创建专用用户。
  • 使用 pm2 ecosystem 配置文件管理复杂应用(见下)。

八、使用 ecosystem.config.js 配置文件(高级)

在项目根目录创建 ecosystem.config.js

module.exports = {
  apps: [
    {
      name: 'my-node-app',
      script: './app.js',
      instances: 1,
      autorestart: true,
      watch: false,
      max_memory_restart: '1G',
      env: {
        NODE_ENV: 'development'
      },
      env_production: {
        NODE_ENV: 'production'
      }
    }
  ]
};

使用方式:

pm2 start ecosystem.config.js --env production
pm2 save

总结

通过以上步骤,你已成功在京东云服务器上配置了 PM2 守护进程,实现了:

✅ Node.js 应用后台运行
✅ 崩溃自动重启
✅ 开机自启
✅ 日志管理与监控

如有问题,可通过 pm2 monit 实时监控应用状态。


如需进一步帮助,请提供你的操作系统版本和 Node.js 应用类型。