PM2的使用记录

696 阅读1分钟

pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,同时也支持性能监控,进程守护,负载均衡等功能

官方文档

安装:

需要全局安装 npm install -g pm2

常用指令:

  • pm2 start bin/www 启动服务,在项目更目录运行
  • pm2 list 查看当前所有进程
  • pm2 restart [id|name|all] 根据id或者name重启进程(all代表所有进程)
  • pm2 stop [id|name|all] 根据id或者name停止进程(all代表所有进程)
  • pm2 delete [id|name|all] 根据id或者name删除进程(all代表所有进程)
  • pm2 logs [id|name] 根据id或者name查看日志
  • pm2 monit 打开管理面板

通过json配置pm2参数

在项目根目录中创建pm2.config.json文件

在package.json添加以下命令

"pro": "pm2 start pm2.config.json 启动pm2并应用json当中的配置

"pro": "pm2 start pm2.config.json --env production追加参数,这里的production对应env.NODE_ENV

{
  "apps": {
    "name": "project name",//进程名字
    "script": "bin/www",//启动文件,项目入口
    "watch": true,//监听文件变化
    "ignore_watch": [//不需要监听的文件目录
      "node_modules",
      "logs"
    ],
    "env": {//这里配置环境参数
      "NODE_ENV": "production",
      "PORT": 3001,//这里可以指定端口,项目当中process.env.PORT可以访问到
      "REMOTE_ADDR": "正式环境url"
    },
    "env_dev": {
      "NODE_ENV": "development",
      "REMOTE_ADDR": "开发环境url"
    },
    "env_test": {
      "NODE_ENV": "test",
      "REMOTE_ADDR": "测试环境url"
    },
    "instances": 4,//进程数
    "error_file": "log/err.log",//错误日志路径
    "out_file": "log/out.log",//日志路径
    "log_date_format": "YYYY-MM-DD HH:mm:ss" //日志记录添加时间戳,格式自己定义
  }
}