PM2的参数配置

https://github.com/jawil/blog/issues/7

 

配置项:

name  应用进程名称;
script  启动脚本路径;
cwd  应用启动的路径,关于script与cwd的区别举例说明:在/home/polo/目录下运行/data/release/node/index.js,此处script为/data/release/node/index.js,cwd为/home/polo/;
args  传递给脚本的参数;
interpreter  指定的脚本解释器;
interpreter_args  传递给解释器的参数;
instances  应用启动实例个数,仅在cluster模式有效,默认为fork;
exec_mode  应用启动模式,支持fork和cluster模式;
watch  监听重启,启用情况下,文件夹或子文件夹下变化应用自动重启;
ignore_watch  忽略监听的文件夹,支持正则表达式;
max_memory_restart  最大内存限制数,超出自动重启;
env  环境变量,object类型,如{"NODE_ENV":"production", "ID": "42"};
log_date_format  指定日志日期格式,如YYYY-MM-DD HH:mm:ss;
error_file  记录标准错误流,$HOME/.pm2/logs/XXXerr.log),代码错误可在此文件查找;
out_file  记录标准输出流,$HOME/.pm2/logs/XXXout.log),如应用打印大量的标准输出,会导致pm2日志过大;
min_uptime  应用运行少于时间被认为是异常启动;
max_restarts  最大异常重启次数,即小于min_uptime运行时间重启次数;
autorestart  默认为true, 发生异常的情况下自动重启;
cron_restart  crontab时间格式重启应用,目前只支持cluster模式;
force  默认false,如果true,可以重复启动一个脚本。pm2不建议这么做;
restart_delay  异常重启情况下,延时重启时间;

 

稳定运行建议

合理设置min_uptime,min_uptime是应用正常启动的最小持续运行时长,超出此时间则被判定为异常启动;
设定异常重启延时restart_delay,对于异常情况导致应用停止,设定异常重启延迟可防止应用在不可测情况下不断重启的导致重启次数过多等问题;
设置异常重启次数,如果应用不断异常重启,并超过一定的限制次数,说明此时的环境长时间处于不可控状态,服务器异常。此时便可停止尝试,发出错误警告通知等

上一篇:centos7设置docker开机自启动,并设置容器自动重启


下一篇:Linux crontab简明demo