前置条件
在了解 PM2 如何实现 Node.js 进程的集中管理前,需要先对 Node.js 的进程模型以及常用的进程管理工具有一定的了解。同时,需要熟悉命令行的使用,以便能更好地运用 PM2。
什么是 PM2?
PM2 是一个高级的 Node.js 进程管理器,可用于管理 Node.js 应用程序的运行。使用 PM2,你可以轻松地管理 Node.js 应用的启动、停止、重启以及其他相关功能。
除此之外,PM2 还有以下特点:
- 0 毫秒停机重载
- 内建负载均衡(可以通过 PM2 运行多个进程)
- 与 Node.js 发生错误时自动重启进程
- 控制台里显示进程状态及相关信息
- 可以在应用程式未打开的情况下使用,还可以监控未绑定端口的进程。
如何使用 PM2
以下是安装、启动和停止 PM2 的基本命令:
-- -------------------- ---- ------- -- -- --- --- ------- --- -- -- ---- --- ----- ------ -- ---- --- ---- --- -- ---- --- ------- ---
启动、停止和重启应用的命令与使用 Node.js 的命令相似,但需要使用 pm2 命令来替代 node 命令。
当使用 PM2 启动应用程序时,它会为每个应用程序创建一个进程。可以使用以下命令查看所有由 PM2 管理的进程:
pm2 list
PM2 还允许您更改进程的名称,以便更好地跟踪它们:
pm2 start app.js --name my-app
在这个例子中,PM2 将使用 my-app 作为应用程序的名称,而不是默认的 Node.js 文件名。
如果您的应用程序需要监视某些文件或目录的更改,则可以使用 PM2 的文件监视功能。以下命令可以启动一个应用程序并监视特定的文件或目录:
pm2 start app.js --watch
测试示例
下面我们来通过一个简单的示例来演示如何使用 PM2。
首先,我们需要在本地创建一个 Node.js 应用程序。以下是示例代码:
-- -------------------- ---- ------- -- ------ ----- ---- - --------------- ----- ---- - ---------------- -- ---- ----- ------ - ----------------------- ---- -- - -------------- - --- ----------------------------- ------------- --------------- ---------- -- ------------------- -- -- - ------------------- ------- -- --------------------------- --
接下来,我们可以使用以下命令来使用 PM2 启动应用程序:
pm2 start app.js
使用 pm2 list 命令,我们可以查看正在运行的所有进程:
┌────┬─────────────┬─────────┬───────┬────────┬───────────┐ │ id │ name │ mode │ status│ port │ uptime │ ├────┼─────────────┼─────────┼───────┼────────┼───────────┤ │ 0 │ app │ cluster │ online│ 3000 │ 1.7s │ └────┴─────────────┴─────────┴───────┴────────┴───────────┘
如果您想为进程指定名称,可以使用 PM2 的 --name 选项:
pm2 start app.js --name my-app
这样,我们在 pm2 list 命令中将看到 my-app 的名称。
如果您的应用程序需要重新启动以响应代码更改,则可以在 pm2 start 命令中使用 --watch 标志启用文件监视:
pm2 start app.js --watch
这将在我们更改 Node.js 应用程序代码时自动重新启动应用程序。
总结
PM2 是一个非常强大的 Node.js 进程管理器,可以用于管理 Node.js 应用程序的启动、停止和重启。在这篇文章中,我们介绍了 PM2 的基本功能和用法,还给出了一个简单的示例。
如果您有兴趣深入了解 PM2 的详细功能,请查看官方文档。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/646347c0968c7c53b0449e33