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官网:

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

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PM2 是一个进程管理工具,可以帮助我们管理和监控 Node.js 应用程序。PM2 使用一个配置文件来指定应用程序的相关设置。下面是一个 PM2 配置文件详解: 1. `name`:设置应用程序的名称,用于在日志和监控中进行标识。 2. `script`:指定要运行的 Node.js 脚本或应用程序的入口文件。 3. `args`:传递给脚本的命令行参数。 4. `instances`:指定要启动的应用程序实例的数量,默认为 1。 5. `exec_mode`:指定应用程序运行的模式,有两种可选值:fork(默认)和 cluster。 6. `max_memory_restart`:当应用程序占用的内存超过指定值时,自动重启应用程序。 7. `watch`:启用文件变动监视功能,当文件变动时自动重启应用程序。 8. `ignore_watch`:指定不需要监视变动的文件或目录。 9. `log_date_format`:设置日志输出的时间格式。 10. `error_file` 和 `out_file`:指定错误日志和标准输出日志的文件路径。 11. `env`:设置环境变量,可以在应用程序中使用 process.env 访问。 12. `merge_logs`:合并所有实例的日志到一个文件中。 13. `cron_restart`:使用 cron 表达式定期重启应用程序。 14. `autorestart`:在应用程序崩溃时自动重启。 15. `restart_delay` 和 `exp_backoff_restart_delay`:设置重启的延迟时间。 以上是配置文件中的一些常用选项,你可以根据自己的需求进行配置。使用 PM2 启动应用程序时,可以通过 `pm2 start app.js -n MyApp --watch` 这样的命令来指定参数,也可以将参数写在配置文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值