pm2 配置文件详解

阅读时长 3 分钟读完

什么是 pm2?

pm2 是一个流行的 Node.js 进程管理工具,可以帮助您管理和监视应用程序的运行。它是基于 Node.js 开发的,可以以守护进程的方式运行,确保您的应用始终在线。

pm2 的配置文件

要获得更多的灵活性和控制,您可以使用 pm2 的配置文件来配置应用程序的运行。配置文件使用 JSON、YAML 或 JavaScript 格式编写,可以指定多个应用程序的运行选项和环境变量。以下是一个基本的 pm2 配置文件的示例:

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

配置文件中的属性

下面是一些常见的 pm2 配置文件属性的解释:

  • name:应用程序的名称
  • script:应用程序的主文件
  • watch:当文件发生变化时是否重启应用程序
  • ignore_watch:应用程序忽略的文件或文件夹列表
  • args:传递给应用程序的参数
  • env:在所有环境下使用的环境变量
  • env_{环境}:只在指定环境中使用的环境变量
  • instances:应用程序的副本数量
  • exec_mode:应用程序的执行模式,可以是 forkcluster
  • max_memory_restart:超出指定内存限制时,应用程序是否自动重启
  • merge_logs:是否将所有实例的日志合并到一个文件中
  • error_file:错误日志文件的路径
  • out_file:标准输出日志文件的路径
  • pid_file:存储主进程 ID 的文件路径
  • log_date_format:日志文件中的时间格式

示例

假设我们有一个基于 Express 框架的 Node.js 应用程序,并且我们想要通过 pm2 部署它。以下是一个 pm2 配置文件的示例,同时使用了 envenv_production,以及 watchignore_watch

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

这个配置文件指定了一个名称为 my-app 的应用程序,主文件为 app.jswatch 属性为 true,所以当文件发生变化时,pm2 会自动重新启动应用程序。ignore_watch 属性指定了需要忽略的文件夹列表。env 属性指定了在所有环境中使用的环境变量,同时 env_production 属性指定了只在生产环境中使用的环境变量。最后,我们还指定了开发环境下使用的端口号为 3000,而生产环境下使用的端口号为 80。

总结

在本文中,我们详细介绍了 pm2 配置文件的各种属性和用法。通过使用 pm2 配置文件,您可以轻松地管理和监视多个 Node.js 应用程序,同时获得更多的灵活性和控制。希望本文对您有所指导,祝您学习愉快!

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

纠错
反馈