pm2 配置文件

配置文件可用属性

通用属性

字段
类型
示例
描述
name
(string)
“my-api”
应用程序名称 (默认为脚本名称)
script
(string)
”./api/app.js”
相对于 pm2 start 的脚本路径
cwd
(string)
“/var/www/”
将启动您的应用程序的目录
args
(string)
“-a 13 -b 12”
包含通过 CLI 传递给脚本的所有参数的字符串
interpreter
(string)
“/usr/bin/python”
解释器绝对路径(默认为 node )
interpreter_args
(string)
”–harmony”
传递给解释器的选项
node_args
(string)
interpreter_args的别名

高级特性

字段
类型
示例
描述
instances
number
4
可多进程同时运行实现负载均衡,值为CPU进程数或max
exec_mode
string
“cluster”
启动应用程序的模式,可以是“cluster”或“fork”,默认fork
watch
boolean or []
true
启用监视和重启功能,如果文件夹或子文件夹中的文件发生更改,您的应用程序将重新加载
ignore_watch
list
[”[/\]./”, “node_modules”]
通过监视功能忽略某些文件或文件夹名称的正则表达式列表
max_memory_restart
string
“150M”
如果超过指定的内存量,您的应用程序将重新启动。 人性化的格式:可以是“10M”、“100K”、“2G”等等……
env
object
{“NODE_ENV”: “development”, “ID”: “42”}
env variables which will appear in your app
env_
object
{“NODE_ENV”: “production”, “ID”: “89”}
在执行 pm2 restart app.yml --env 时注入
source_map_support
boolean
true
默认为 true,[启用/禁用源映射文件]
instance_var
string
“NODE_APP_INSTANCE”
查看文档
filter_env
array of string
[ “REACT_” ]
排除以“REACT_”开头的全局变量,并且不允许它们渗透到集群中。

日志文件

字段
类型
示例
描述
error_file
(string)
指定错误日志文件 (默认 $HOME/.pm2/logs/XXXerr.log)
out_file
(string)
指定标准输出日志文件 (默认 $HOME/.pm2/logs/XXXout.log)
pid_file
(string)
指定pid进程文件 (默认 $HOME/.pm2/pid/app-pm_id.pid)
merge_logs
boolean
true
如果设置为 true,则避免使用进程 id 后缀日志文件
log_date_format
(string)
“YYYY-MM-DD HH:mm Z”
日志时间日期格式

控制流

字段
类型
示例
描述
min_uptime
(string)
被视为启动的应用程序的最小正常运行时间
listen_timeout
number
8000
如果应用程序未在侦听,则强制重新加载之前的时间(以毫秒为单位)
kill_timeout
number
1600
发送最终 SIGKILL 之前的时间(以毫秒为单位)
shutdown_with_message
boolean
false
使用 process.send(‘shutdown’) 而不是 process.kill(pid, SIGINT) 关闭应用程序
wait_ready
boolean
false
等待 process.send(‘ready’) 而不是重新加载等待监听事件
max_restarts
number
10
在您的应用程序被视为错误并停止重新启动之前,连续不稳定重新启动的次数(小于 1 秒间隔或通过 min_uptime 自定义时间)
restart_delay
number
4000
在重新启动崩溃的应用程序之前等待的时间(以毫秒为单位)。 默认为 0。
autorestart
boolean
false
默认为 true 。 如果为 false,如果应用程序崩溃或和平结束,PM2 将不会重新启动您的应用程序
cron_restart
string
“1 0 * * *”
使用 cron 模式定时任务来重新启动你的应用程序。 应用程序必须正在运行才能使 cron 功能正常工作
vizion
boolean
false
默认为真。 如果为 false,PM2 将在没有 vizion 功能的情况下启动(版本控制元数据)
post_update
list
[“npm install”, “echo launching the app”]
从 Keymetrics 控制面板执行 Pull/Upgrade 操作后将执行的命令列表
force
boolean
true
默认为 false。 如果为 true,可以多次启动同一个脚本,这通常是 PM2 不允许的

资料

Loading...
文章列表
王小扬博客
云原生
Git
Elasticsearch
Apollo
产品
Think
生活技巧
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP