王小扬博客
Git
AI
产品
film
AI Code
Java
其他
计算机网络
DB
云原生
Node
Docker
操作系统
Elasticsearch
Apollo
Nestjs
Think
大前端
PHP
软件开发
设计
生活技巧
CI
缓存
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...