PM2 运行脚本的两种方式

阅读时长 3 分钟读完

PM2 是 Node.js 生态圈中广泛使用的进程管理工具,它能够将 Node.js 应用程序变成守护进程,并在运行过程中自动处理故障,从而提高 Node.js 应用程序的可靠性和稳定性。此外,PM2 还提供了多进程支持和负载均衡功能,能够充分利用多核 CPU,提高 Node.js 应用程序的性能。本文介绍 PM2 运行脚本的两种方式,分别是通过命令行运行和通过配置文件运行。

通过命令行运行

使用 PM2 运行脚本最简单的方法是通过命令行运行,只需要执行以下命令:

该命令会启动 script.js 脚本,并将其变成守护进程,这样脚本将在后台运行,并且能够自动重启,并处理崩溃等异常情况。我们还可以通过以下命令来查看已启动的所有进程:

使用该命令,可以查看当前所有已经启动的进程,以及它们的状态信息。如果要停止某个进程,可以使用如下命令:

需要替换 process_id 为相应的进程 ID。

通过配置文件运行

另一种运行 Node.js 脚本的方式是通过配置文件运行,它允许我们更加灵活和高效地管理 Node.js 应用程序。在通过配置文件运行 Node.js 脚本之前,我们需要编写一个 PM2 配置文件,以指定 Node.js 应用程序的相关设置。以下是一个示例的 PM2 配置文件:

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

上述配置文件中,我们定义了一个名为 myApp 的 Node.js 应用程序,该应用程序的主要入口脚本为 app.js。其中,我们还指定了该应用程序的执行模式为 cluster,开启了多进程支持,并指定了最大实例数为 max。这意味着,该应用程序将在尽可能多的 CPU 核心上运行,并进行负载均衡。同时,我们还指定了重启间隔为 5 秒,最大内存为 1G,日志文件的合并方式为 true,日志格式为 "YYYY-MM-DD HH:mm:ss",错误日志文件的名称为 error.log,标准输出日志文件的名称为 out.log。最后,我们还设置了 NODE_ENV 环境变量为 production。在配置文件编写完成后,我们使用以下命令运行程序:

该命令将根据配置文件启动 Node.js 应用程序,并进行相应的设置。我们可以使用以下命令查看已启动的进程:

需要注意的是,通过 PM2 配置文件启动脚本时,PM2 会自动创建独立的 PID 文件和日志文件,并将进程信息写入 JSON 格式的进程列表中。

总结

PM2 提供了两种运行 Node.js 脚本的方式,通过命令行运行和通过配置文件运行。通过命令行运行最简单,但不灵活;通过配置文件运行则更加灵活和高效,但需要编写配置文件。开发者应该根据具体情况选择适合自己的方式,并注意合理配置 PM2,以提高 Node.js 应用程序的可靠性、稳定性和性能。

参考资料

  1. PM2 官方文档: https://pm2.keymetrics.io/docs/usage/startup/

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

纠错
反馈