初始化配置文件
在项目的根目录执行如下命令:
$ pm2 init点击复制复制失败已复制
会生成 ecosystem.config.js
文件,默认生成的配置文件内容如下:
module.exports = { apps: [{ script: 'index.js', watch: '.' }, { script: './service-worker/', watch: ['./service-worker'] }], deploy: { production: { user: 'SSH_USERNAME', host: 'SSH_HOSTMACHINE', ref: 'origin/master', repo: 'GIT_REPOSITORY', path: 'DESTINATION_PATH', 'pre-deploy-local': '', 'post-deploy': 'npm install && pm2 reload ecosystem.config.js --env production', 'pre-setup': '' } } };点击复制复制失败已复制
启动
$ pm2 startOrReload ecosystem.config.js点击复制复制失败已复制
附
常用配置项说明
参数 | 说明 |
apps |
json 结构, apps 是一个数组,每一个数组成员就是对应一个 pm2 中运行的应用 |
name |
应用程序名称 |
cwd |
应用程序所在的目录 |
script |
应用程序的脚本路径 |
log_date_format |
指定日志日期格式,如 YYYY-MM-DD HH:mm:ss |
error_file |
自定义应用程序的错误日志文件,代码错误可在此文件查找 |
out_file |
自定义应用程序日志文件,如应用打印大量的标准输出,会导致 pm2 日志过大 |
pid_file |
自定义应用程序的 pid 文件 |
interpreter |
指定的脚本解释器 |
interpreter_args |
传递给解释器的参数 |
instances |
应用启动实例个数,仅在 cluster 模式有效,默认为 fork |
min_uptime |
最小运行时间,这里设置的是 60s 即如果应用程序在 60s 内退出, pm2 会认为程序异常退出,此时触发重启 max_restarts 设置数量 |
max_restarts |
设置应用程序异常退出重启的次数,默认 15 次(从 0 开始计数) |
autorestart |
默认为 true , 发生异常的情况下自动重启 |
cron_restart |
定时启动,解决重启能解决的问题 |
max_memory_restart |
最大内存限制数,超出自动重启 |
watch |
是否启用监控模式,默认是 false 。如果设置成 true ,当应用程序变动时, pm2 会自动重载。这里也可以设置你要监控的文件。 |
ignore_watch |
忽略监听的文件夹,支持正则表达式 |
merge_logs |
设置追加日志而不是新建日志 |
exec_interpreter |
应用程序的脚本类型,默认是 nodejs |
exec_mode |
应用程序启动模式,支持 fork 和 cluster 模式,默认是 fork |
autorestart |
启用/禁用应用程序崩溃或退出时自动重启 |
vizion |
启用/禁用 vizion 特性(版本控制) |
env |
环境变量, object 类型 |
force |
默认 false ,如果 true ,可以重复启动一个脚本。 pm2 不建议这么做 |
restart_delay |
异常重启情况下,延时重启时间 |