PM2 配置文件详解,让你更好的管理 Node.js 应用

阅读时长 5 分钟读完

简介

在使用 Node.js 开发 Web 应用时,我们经常会使用到 PM2 这款进程管理工具,它可以让我们更方便地启动、停止、重启、监控 Node.js 应用。虽然在使用中我们通常可以通过命令行参数来配置 PM2 的行为,但是在工程化的开发中,我们需要把 PM2 的配置参数通过配置文件的形式来定义,这样可以提高开发效率并降低出错的风险。本文将介绍 PM2 配置文件的详细用法,让你更好的管理 Node.js 应用。

配置文件的格式

PM2 支持 JSON、YAML 和 JavaScript 三种格式的配置文件,这三种格式的配置文件都可以通过命令行参数 -i 或者 --interpreter 来指定 Node.js 运行时的解释器。

下面我们以 JSON 格式为例来介绍 PM2 配置文件的详细使用方法。

-- -------------------- ---- -------
-- ---------------
-
  ------- -
    -
      ------- --------
      --------- -----------
      ------- ---------- ---------
      ------------ --
      -------------- -----
      -------- ------
      --------------------- -----
      ------------------ ----------- -------- ---
      ----------------- -
        ----------- ------------
      -
    -
  -
-

以上是一个 PM2 配置文件的例子,其中重要的部分都写在了 apps 数组中,下面我们逐一介绍这些配置参数的含义。

配置参数

name

应用程序的名称,方便我们后续对服务进行管理。

script

启动的脚本文件路径,该文件必须以 Node.js 的解释器启动,可以是绝对路径也可以是相对路径。

args

传递给脚本的命令行参数,可以是单个参数或者多个参数的数组。

instances

应用程序的数量,可以是数字或者字符串,如果是字符串,可以用以下方式指定:

  • "max":启动与 CPU 核心数相同的应用程序实例
  • "max-1":启动比 CPU 核心数少一个的应用程序实例
  • "max-2":启动比 CPU 核心数少两个的应用程序实例

autorestart

当应用程序发生异常时,是否自动重启,可以是以下值之一:

  • true:默认值,自动重启
  • false:不自动重启
  • "always":无论何时,都要自动重启
  • "never":永不自动重启
  • "unexpected":仅在 exit code 不等于 0 时自动重启
  • "unhandled":仅在应用程序抛出未被捕获的异常时自动重启

watch

是否监控文件变化重启应用程序,可以是以下值之一:

  • true:监控文件变化并自动重启
  • false:默认值,不监控文件变化
  • string:监控指定文件夹或者文件

max_memory_restart

当应用程序内存使用量超过指定值时,自动重启应用程序。可以使用以下格式设置:

  • number:以字节为单位指定最大内存使用量
  • string:以人类可读的形式指定最大内存使用量,例如 1K1M1G

log_date_format

日志的日期格式,默认是 YYYY-MM-DD HH:mm:ss ZZ

environment

指定 Node.js 运行环境参数。

使用配置文件启动 Node.js 应用

当编写好 PM2 配置文件之后,我们可以通过以下命令来启动 Node.js 应用:

其中 pm2.config.json 是我们保存配置文件的文件名,如果你选择了 YAML 或者 JavaScript 格式的配置文件,同样可以通过 pm2 start 命令来启动。

总结

本文介绍了 PM2 配置文件的详细用法,我们可以通过配置文件的方式更方便地管理 Node.js 应用。在实际开发中,我们需要根据应用的需求来配置 PM2,这样可以加快我们的开发效率,同时也能保证应用的稳定性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e5daf9f6b2d6eab3156dcc

纠错
反馈