在现代的 Web 开发中,前端工程师们的技能也需要比以往更加全面,其中包括应用的生产环境部署。在 Node.js 开发中,PM2 是一个强大的进程管理工具,可进一步提高应用的可靠性和稳定性。
本文将深入探讨 PM2 这一管理工具的使用指南,包括全面的功能列表、实用的命令列表和实际示例代码,帮助读者更好地理解和掌握 PM2 的使用方法。
PM2 的功能简介
相比于其他进程管理工具,PM2 在功能方面实现了更高的垂直和水平扩展:
- 可以启动多个实例,利用多核 CPU 和多台服务器
- 自动重启应用程序
- 监视日志文件并重新启动应用程序
- 监视 CPU 和内存使用率
- 轻松调整应用程序的数量和版本
- 支持各种部署环境:本地、开发和生产
PM2 还支持多种操作系统和程序语言,包括 Linux、OS X、Windows、Node.js、Python、Ruby 和 PHP。由于它是进程守护程序,可以保持应用程序运行,即使在系统崩溃时也会重新启动应用程序。
PM2 的安装和基础使用
安装 PM2
PM2 可以通过 npm 全局安装:
npm install -g pm2
启动应用程序
要启动应用程序,请在控制台中输入以下命令:
pm2 start app.js
其中 app.js 是 Node.js 应用程序的名称。你还可以指定启动实例的数量:
pm2 start app.js -i 4
此命令将启动 4 个与 app.js 相关的进程。
监视进程
要监视 PM2 进程并查看它们的状态,请输入以下命令:
pm2 monit
此命令将打开一个监视器面板,显示所有正在运行的进程及其 CPU 和内存使用率。
重启应用程序
要重启应用程序,请输入以下命令:
pm2 restart app.js
如果要重新启动所有应用程序,可以输入以下命令:
pm2 restart all
停止应用程序
要停止应用程序,请输入以下命令:
pm2 stop app.js
如果要停止所有应用程序,可以输入以下命令:
pm2 stop all
查看应用程序列表
要查看当前正在运行的应用程序的列表,请输入以下命令:
pm2 list
此命令将列出所有当前正在运行的 PM2 进程,并显示它们的编号、名称、状态、CPU 和内存使用率等信息。
PM2 配置文件详解
对于需要更复杂设置的 Node.js 应用程序,在 PM2 中提供了配置文件的功能,这让你可以更直观地控制应用程序的行为。
pm2.config.js 文件示例
以下是使用 pm2.config.js 文件的示例,即 PM2 的配置文件。
-- -------------------- ---- ------- -------------- - - ----- -- ----- -------- ------- ----------- ------------- -------------- ------------ ----- ------ ----- ---- - --------- ------------- -- --------------- - --------- ------------ - -- -
配置文件使用了一个简单的对象,参数包括:
- name - 应用程序的名称
- script - 程序的入口文件路径
- instance_var - 进程名称的变量
- autorestart - 默认情况下程序会自动重启
- watch - 监视更改的程序目录
- env - 开发环境的变量
- env_production - 生产环境的变量
读取 pm2.config.js 文件
为了使用 pm2.config.js 文件,请在控制台中输入以下命令:
pm2 start pm2.config.js
此命令将使用 pm2.config.js 文件中的参数来启动应用程序。
这里我们注意一点:在 pm2.config.js 文件中,有许多参数,包括可选参数和必选参数。根据你的具体应用场景,你可以选择使用不同的参数进行配置,从而定制出更符合自己要求的 PM2 部署方案。
PM2 的集群模式
通过运行多个实例,PM2 可以帮助应用程序在多核 CPU 和多台服务器上水平扩展。PM2 还支持各种负载均衡机制,以便你的应用程序可以正常工作。
设置集群模式
要设置 PM2 的集群模式,请使用以下命令:
pm2 start app.js -i max
此命令将启动尽可能多的实例,以充分利用可用的 CPU 核心。
监测所有实例
在集群模式下,可以使用以下命令来监测所有实例:
pm2 monit
此命令将监视所有实例的 CPU 和内存使用率。
查看集群状态
在 PM2 中,可以使用以下命令查看集群的状态:
pm2 status
此命令将显示当前运行的实例数量以及它们的状态。
重启所有实例
要重启所有实例,请使用以下命令:
pm2 restart all
此命令将重启所有实例,以便它们可以及时响应客户端的请求。
停止所有实例
要停止所有实例,请使用以下命令:
pm2 stop all
此命令将停止所有实例,以便您可以执行其他维护任务。
总结
本文详细介绍了 PM2 这一非常强大实用的进程管理工具。了解了 PM2 各种基础和高级功能的读者,可以在使用 PM2 进行部署时更具常见和灵活性,管理好各种大型项目的进程流程,提高应用的稳定性和可靠性,确信 PM2 在对前端工程师,不仅是运维工程师看来都是非常重要的技能之一,我们需要不断的去学习和掌握 PM2 这个工具的优势和使用方法,帮助我们更好地应对不断变化的技术时代。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6519135d95b1f8cacd14fafb