PM2 配置文件中的各种参数详解

阅读时长 7 分钟读完

PM2 是一个用于管理 Node.js 进程的生产环境工具。PM2 可以检测并重启挂掉的进程,管理多个进程,并提供了一些有用的功能,如负载均衡、自动缩放等。在 PM2 中,配置文件是十分重要的,本文将深入讲解配置文件中的各种参数,以帮助前端开发者更好地使用 PM2。

基本语法

PM2 配置文件是一个 JSON 格式的文件,通常命名为 ecosystem.config.js。一个最简单的配置文件可以长这样:

这个配置文件定义了一个应用程序 myapp,它的启动脚本是 ./app.js。将这个配置文件命名为 ecosystem.config.js 并在应用程序文件夹下运行 pm2 start 命令即可启动应用程序。

apps

apps 数组用于定义一个或多个应用程序,每个应用程序都有一个名称(name)和一个启动脚本(script)。

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

Instances

instances 参数用于指定要启动的应用程序实例数,默认值为 1。如果设置为 0,则表示将根据 CPU 核心数量启动相同数量的实例。

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

Autorestart

autorestart 参数用于指定是否自动重启应用程序。默认情况下,它设置为 true,即当应用程序崩溃或退出时将自动重启。

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

Watch

watch 参数用于指定要监视的文件或文件夹,当这些文件发生更改时,将重新启动应用程序。可以使用 glob 模式来匹配多个文件。默认情况下,它设置为 false,即不监视任何文件。

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

Watch Ignore

watch_ignore 参数用于指定要忽略的文件或文件夹,这些文件不会影响应用程序的重新启动。可以使用 glob 模式来匹配多个文件。默认情况下,它设置为 false,即不忽略任何文件。

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

Error Log

error_file 参数用于指定应用程序错误日志的路径。默认情况下,它设置为 ~/.pm2/logs/<name>-error.log,其中 <name> 为应用程序名称。

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

Out Log

out_file 参数用于指定应用程序输出日志的路径。默认情况下,它设置为 ~/.pm2/logs/<name>-out.log,其中 <name> 为应用程序名称。

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

Environment Variables

env 参数用于指定应用程序的环境变量。可以使用对象字面量来指定多个环境变量。应用程序可以通过 process.env 对象访问这些变量。

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

Node Args

node_args 参数用于指定在启动 Node.js 进程时传递的额外参数。可以使用字符串或数组来指定多个参数。

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

Override Environment Variables

env_production 参数用于覆盖 env 参数中指定的环境变量,仅在 NODE_ENVproduction 时才会应用。

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

相关命令

  1. 启动应用程序:pm2 start ecosystem.config.js
  2. 停止应用程序:pm2 stop <APP_NAME>pm2 stop ecosystem.config.js
  3. 重启应用程序:pm2 restart <APP_NAME>pm2 restart ecosystem.config.js
  4. 运行应用程序状态:pm2 status <APP_NAME>pm2 status ecosystem.config.js

总结

本文介绍了 PM2 配置文件中的各种参数,包括应用程序、实例数、自动重启、文件监视、错误日志、输出日志、环境变量、Node.js 参数等。使用这些参数可以轻松地管理和部署 Node.js 应用程序。希望这篇文章可以帮助前端开发者更好地理解和使用 PM2。

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

纠错
反馈