pm2配置文件详解

 用node开发的项目,很多都是使用pm2管理的,下面给大家带来一些pm2配置的解释:

{
  "apps": //配置文件为一个数组,可配置多个项目
   [
    {
      "name": "test", //项目名称
      "cwd": "/project/test", //项目目录
      "script": "bin/www", //项目的启动文件
      "log_date_format": "YYYY-MM-DD HH:mm Z", // 日志日期格式,Z 为时区
      "error_file": "/project/log/testError.log", // 错误日志目录
      "out_file": "/project/log/test.log", // 日志目录
      "pid_file": "/project/pid/test.pid", // 项目pid文件
      "min_uptime": "120s", // 最小运行时间,如果程序在这个时间内退出,会被认为错误,自动重启
      "max_restarts": 8, // 最大的自动重启次数
      "max_memory_restart": "10M", // 重启占用最大内存
      "cron_restart": "1 0 * * *", // 定时重启 (*/30 * * * *)每隔30分钟重启一次,(0 10 9 * * *) 每天9:10重启一次 
      "exec_interpreter": "node", //项目的脚本类型,默认node,可选shell
      "exec_mode": "fork", // 项目的启动方式,默认fork,可选cluster[集群],若为cluster,可配置instances
      "instances": 4, // 实例个数,如果exec_mode为cluster[集群],可配置集群实例的个数
      "autorestart": false, // 启用/禁用 项目崩溃或退出时自动重启
      "vizion": false // 启用/禁用 vizion特性(版本控制)
    }
  ]
}

其实我们平时开发很多配置直接使用默认的就可以,也可以加上环境变量,下面附上我的单个项目常用配置:

[{
  "name": "test01", 
  "script": "test01.js",
  "cwd": "./bin/",
  "env": { //环境变量配置
    "NODE_ENV": "development",
    "NETWORK_ENV": "inner"
  },
  "merge_logs": true,
  "log_date_format":"YYYY-MM-DD HH:mm:ss"
}]

下面展示了,cluster[集群模式] 和 fork 的区别,第一个项目有两个实例,第二个只有一个

pm2配置文件详解_第1张图片

最后附上pm2官网:

http://pm2.keymetrics.io/docs/usage/quick-start/#42-starts

感谢您的阅读!如果文章中有任何错误,或者您有更好的理解和建议,欢迎和我联系!

你可能感兴趣的:(pm2配置文件详解)