奋斗
努力

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

云计算

在京东云服务器(如京东云的云主机 CVM)上配置 PM2 守护进程,主要是为了实现 Node.js 应用的持久化运行、自动重启、日志管理等功能。以下是详细的配置步骤:


一、准备工作

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

    ssh root@你的公网IP
  2. 更新系统包(可选但推荐)

    # Ubuntu/Debian
    sudo apt update && sudo apt upgrade -y
    
    # CentOS/RHEL
    sudo yum update -y
  3. 安装 Node.js 和 npm
    推荐使用 nvm 或直接安装 LTS 版本。

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

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    source ~/.bashrc
    nvm install --lts
    node -v
    npm -v

    方法二:直接下载安装包

    # 下载并解压 Node.js(以 v18 为例)
    wget https://nodejs.org/dist/v18.18.2/node-v18.18.2-linux-x64.tar.xz
    tar -xf node-v18.18.2-linux-x64.tar.xz
    sudo mv node-v18.18.2-linux-x64 /usr/local/nodejs
    sudo ln -s /usr/local/nodejs/bin/node /usr/local/bin/node
    sudo ln -s /usr/local/nodejs/bin/npm /usr/local/bin/npm

二、安装 PM2

npm install -g pm2

验证安装:

pm2 --version

三、使用 PM2 启动你的 Node.js 应用

  1. 进入项目目录

    cd /path/to/your/project
  2. 启动应用

    pm2 start app.js --name "my-app"
    • app.js 是你的入口文件。
    • --name 指定进程名称,便于管理。
  3. 常用命令

    pm2 list                    # 查看所有进程
    pm2 logs my-app             # 查看日志
    pm2 restart my-app          # 重启应用
    pm2 stop my-app             # 停止应用
    pm2 delete my-app           # 删除进程
    pm2 monit                   # 监控资源使用

四、配置开机自启(关键步骤)

PM2 提供了开机自启动功能,避免服务器重启后应用停止。

  1. 生成启动脚本

    pm2 startup

    执行后会输出一行命令,类似:

    [PM2] You have to run this command as root. Execute the following command:
       sudo env PATH=$PATH:/usr/local/bin pm2 startup systemd -u your-username --hp /home/your-username

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

  2. 保存当前进程列表

    pm2 save

    这样重启后 PM2 会自动恢复之前运行的应用。


五、配置反向X_X(可选,配合 Nginx)

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

  1. 安装 Nginx

    sudo apt install nginx     # Ubuntu/Debian
    sudo yum install nginx     # CentOS
  2. 配置 Nginx 转发
    编辑配置文件:

    sudo nano /etc/nginx/sites-available/default

    添加如下内容(假设你的 Node.js 应用监听 3000 端口):

    server {
       listen 80;
       server_name your-domain.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;
       }
    }
  3. 重启 Nginx

    sudo systemctl restart nginx

六、安全建议

  • 开放防火墙端口(如 3000、80、443)。
  • 使用京东云安全组规则限制访问。
  • 配置 HTTPS(可用 Let’s Encrypt + Certbot)。

总结

在京东云服务器上配置 PM2 的核心步骤:

✅ 安装 Node.js
✅ 全局安装 PM2
✅ 启动应用并命名
✅ 配置开机自启(pm2 startup + pm2 save
✅ (可选)配置 Nginx 反向X_X

完成以上步骤后,你的 Node.js 应用将由 PM2 持久守护,即使服务器重启也能自动恢复运行。

如有具体项目结构或错误信息,欢迎补充,我可以进一步协助。

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