使用 pm2 管理 Node.js 进程并配置定时重启

pm2 是一个强大的 Node.js 进程管理器,可以帮助你轻松管理 Node.js 应用,包括启动、停止、重启、监控等。下面介绍如何使用 pm2 管理 Node.js 进程并配置定时重启:

1. 安装 pm2

npm install -g pm2

2. 启动 Node.js 应用

使用 pm2 start 命令启动你的 Node.js 应用,例如:

pm2 start app.js

3. 配置定时重启

使用 pm2 restart 命令配置定时重启,例如:

pm2 restart app.js --cron "*/30 * * * *"

解释:

  • pm2 restart app.js:重启名为 app.js 的进程。
  • --cron "*/30 * * * *":使用 cron 表达式配置重启时间。

cron 表达式:

  • */30:每 30 分钟执行一次。
  • *:表示所有时间单位都匹配。

4. 查看 pm2 进程状态

使用 pm2 list 命令查看所有 pm2 管理的进程状态。

5. 停止 pm2 进程

使用 pm2 stop 命令停止 pm2 管理的进程,例如:

pm2 stop app.js

6. 删除 pm2 进程

使用 pm2 delete 命令删除 pm2 管理的进程,例如:

pm2 delete app.js

7. 其他 pm2 命令

pm2 提供了丰富的命令来管理 Node.js 进程,例如:

  • pm2 logs: 查看进程日志。
  • pm2 monit: 监控进程状态。
  • pm2 reload: 重新加载进程配置。
  • pm2 restart: 重启进程。
  • pm2 stop: 停止进程。
  • pm2 delete: 删除进程。

注意:

  • 定时重启可能会导致应用短暂中断服务,请根据实际情况选择合适的重启时间。
  • 使用 pm2 ecosystem.config.js 文件可以更方便地管理多个进程和配置。

示例:

// ecosystem.config.js
module.exports = {
  apps: [
    {
      name: 'my-app',
      script: 'app.js',
      watch: ['src'],
      env: {
        NODE_ENV: 'development'
      },
      env_production: {
        NODE_ENV: 'production'
      },
      restart_delay: 1000,
      cron_restart: '*/30 * * * *'
    }
  ]
};

使用 pm2 start ecosystem.config.js 命令启动应用,并根据配置进行定时重启。


发表评论