pm2快速上手

178 阅读1分钟

安装

// 全局安装pm2,依赖node和npm
npm install -g pm2
// 安装成功后, 查看pm2版本
pm2 -V

常用命令

  • 启动命令

    pm2 start + 入口文件

  • 通过配置文件启动

    pm2 start pm2.config.js

启动成功后,控制台看见如下信息

image.png

  • 查看详细状态信息

    pm2 show (appname 或 id)

  • 所有启动的进程列表

    pm2 list

  • 监控每个 node 进程的 cpu 和内存使用情况

    pm2 monit

  • 显示所有进程的日志信息

    pm2 logs

  • 停止 指定/所有 进程

    pm2 stop (id 或 all)

  • 重启 指定/所有 进程

    pm2 restart (id 或 all)

  • 杀死 指定/所有 进程

    pm2 delete (id 或 all)

负载均衡

pm2 start app.js -i (number 或 max)

日志相关

pm2 install pm2-logrotate // 安装pm2-logrotate插件

配置 PM2 启动文件

pm2 start app.js pm2.config.js

// pm2.config.js
module.exports = {
  apps: [
    {
      name: 'pm2-demo-app', // 应用名称
      script: './app.js', // 启动文件地址
      cwd: './', // 当前工作路径
      watch: [
        // 监控变化的目录,一旦变化,自动重启
        'dist'
      ],
      ignore_watch: [
        // 忽视这些目录的变化
        'node_modules',
        'logs',
        'public',
      ],
      node_args: '--harmony', // node的启动模式
      env: {
        NODE_ENV: 'development', // 设置运行环境,此时process.env.NODE_ENV的值就是development
        ORIGIN_ADDR: ''
      },
      env_production: {
        NODE_ENV: 'production',
      },
      out_file: './logs/out.log', // 普通日志路径
      error_file: './logs/err.log', // 错误日志路径
      merge_logs: true,
      log_date_format: 'YYYY-MM-DD HH:mm Z',
      instances: 2,  // 启动两个实例
    },
  ],
};

配合pm2-web实现监控可视化