Express 应用程序的进程管理器
在运行 Express 应用程序进行生产时,使用进程管理器有助于:
- 如果应用程序崩溃,则自动重新启动
- 深入了解运行时性能和资源消耗
- 动态修改设置以提高性能。
- 控制聚类
进程管理器有点像应用程序服务器:它是应用程序的“容器”,有助于部署,提供高可用性,并使您能够在运行时管理应用程序。
TIP
推荐使用 pm2
Express 和其他 Node.js 应用程序最流行的进程管理器是:
PM2
:是一个开源、高级、功能丰富且跨平台的 Node.js 生产级进程管理器,内置负载均衡器。它具有众多优点,例如支持进程行为配置、集群模式、source map、热重启、部署工作流、监听重启、日志管理、监控功能(包括 CPU 和内存使用情况)、开发调试模式、pm2 模块开发、keymetrics 监控、最大内存重启、编程 API 等。PM2 允许列出、监视和处理所有已启动的 Node.js 进程StrongLoop PM
:也是一个开源的高级生产进程管理器,用于 Node.js 应用程序,内置负载均衡。它可以通过命令行或图形界面使用,支持应用程序监视(查看性能指标,如事件循环时间、CPU 和内存消耗)、多主机部署、集群模式、零停机应用程序重启和升级、故障时自动进程重启以及日志聚合和管理等。此外,它还附带 Docker 支持,允许将性能指标导出到与状态兼容的服务器。Forever
:是一个简单且可配置的开源命令行界面工具,可用于连续运行给定的脚本。适用于运行 Node.js 应用程序和脚本的较小部署。它允许管理 Node.js 进程(如启动、列出、停止、停止所有、重新启动、重新启动所有等),支持监视文件更改、调试模式、应用程序日志、终止进程和退出信号自定义等。可以通过命令行或在 JSON 文件中传递多种使用选项来使用它。
其中,PM2
相对来说更为流行和常用。它提供了较为全面的功能,能满足大多数场景下对 Node.js 进程管理的需求,例如自动重启应用、负载均衡、日志管理、监控等,使得在生产环境中部署和管理 Node.js 应用程序变得更加容易。