PM2 是 Node.js 生态圈中广泛使用的进程管理工具,它能够将 Node.js 应用程序变成守护进程,并在运行过程中自动处理故障,从而提高 Node.js 应用程序的可靠性和稳定性。此外,PM2 还提供了多进程支持和负载均衡功能,能够充分利用多核 CPU,提高 Node.js 应用程序的性能。本文介绍 PM2 运行脚本的两种方式,分别是通过命令行运行和通过配置文件运行。
通过命令行运行
使用 PM2 运行脚本最简单的方法是通过命令行运行,只需要执行以下命令:
pm2 start script.js
该命令会启动 script.js 脚本,并将其变成守护进程,这样脚本将在后台运行,并且能够自动重启,并处理崩溃等异常情况。我们还可以通过以下命令来查看已启动的所有进程:
pm2 list
使用该命令,可以查看当前所有已经启动的进程,以及它们的状态信息。如果要停止某个进程,可以使用如下命令:
pm2 stop process_id
需要替换 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。在配置文件编写完成后,我们使用以下命令运行程序:
pm2 start pm2.config.json
该命令将根据配置文件启动 Node.js 应用程序,并进行相应的设置。我们可以使用以下命令查看已启动的进程:
pm2 list
需要注意的是,通过 PM2 配置文件启动脚本时,PM2 会自动创建独立的 PID 文件和日志文件,并将进程信息写入 JSON 格式的进程列表中。
总结
PM2 提供了两种运行 Node.js 脚本的方式,通过命令行运行和通过配置文件运行。通过命令行运行最简单,但不灵活;通过配置文件运行则更加灵活和高效,但需要编写配置文件。开发者应该根据具体情况选择适合自己的方式,并注意合理配置 PM2,以提高 Node.js 应用程序的可靠性、稳定性和性能。
参考资料
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64eebc4bf6b2d6eab38b4399