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

云计算

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


✅ 一、准备工作

  1. 登录京东云服务器
    使用 SSH 登录你的京东云 Linux 服务器(如 CentOS、Ubuntu 等)。

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

    # Ubuntu/Debian
    sudo apt update && sudo apt upgrade -y
    
    # CentOS/RHEL
    sudo yum update -y

✅ 二、安装 Node.js 和 npm

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

方法 1:使用 NodeSource 安装最新版 Node.js(推荐)

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

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

注:CentOS 用户请参考 NodeSource 对应的 yum 命令。

验证安装

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

✅ 三、全局安装 PM2

sudo npm install -g pm2

建议使用 sudo 全局安装,确保所有用户可访问(生产环境通常用普通用户运行应用)。

验证安装:

pm2 --version

✅ 四、启动你的 Node.js 应用

假设你的项目在 /home/ubuntu/myapp 目录下,入口文件是 app.js

cd /home/ubuntu/myapp
pm2 start app.js --name "my-node-app"
  • --name 指定进程名称,便于管理。

常用命令:

pm2 list                    # 查看运行中的进程
pm2 logs                    # 查看日志
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 ubuntu --hp /home/ubuntu
  2. 复制并执行提示中的命令(注意替换用户名和路径)

    sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu

    -u ubuntu:表示以哪个用户运行(根据你的实际用户修改,如 rootubuntu
    --hp /home/ubuntu:用户的主目录

  3. 保存当前进程列表

    pm2 save

    这样下次开机时,PM2 会自动恢复之前运行的应用。


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

如果你希望通过域名或 80 端口访问应用,建议配合 Nginx。

示例 Nginx 配置:

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;  # 假设 Node.js 应用监听 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 systemctl reload nginx

✅ 七、安全建议

  • 使用非 root 用户运行 Node.js 应用。
  • 配置防火墙(如 ufw 或京东云安全组),只开放必要端口(如 80、443)。
  • 使用 pm2 monit 实时监控应用状态。

✅ 总结

步骤 操作
1 登录京东云服务器
2 安装 Node.js 和 npm
3 全局安装 PM2
4 使用 pm2 start 启动应用
5 执行 pm2 startuppm2 save 实现开机自启
6 (可选)配置 Nginx 反向X_X

如有使用 Docker,也可将 PM2 集成到容器中,但上述方式适用于直接部署在云主机上的场景。

如需帮助查看具体错误日志,可运行:

pm2 logs

祝你部署顺利!🚀

未经允许不得转载:CLOUD云枢 » 京东云服务器如何配置PM2守护进程?