什么是 PM2?
PM2 是一个进程管理器,可用于部署和管理 Node.js 应用程序。它可以自动重启应用程序并监视它们的状态,从而可以确保应用程序在任何情况下都能保持运行状态。
PM2 的优点
使用 PM2 部署和管理 Express.js 应用程序具有以下优点:
- 无需手动重启应用程序,PM2 可以自动重启应用程序。
- 可以监视应用程序的运行状态,并在应用程序闪退或出现错误时自动重新启动。
- 提供了日志管理和集中化日志查看。
- 可以在多个端口或域名中同时运行应用程序,以提高可用性。
安装和配置 PM2
要使用 PM2,您需要首先安装它。您可以使用 Node.js 的包管理器 npm 安装 PM2:
--- ------- --- --
安装完成后,您可以使用以下命令检查 PM2 是否正常工作:
--- ---------
输出版本号表示 PM2 安装成功。
使用 PM2 部署 Express.js 应用程序
接下来,您需要准备一个 Express.js 应用程序。我们以一个简单的 Express.js 应用程序作为例子:
----- ------- - ------------------- ----- --- - ---------- ------------ ----- ---- -- - --------------- --------- --- ---------------- -- -- - -------------------- --- --------- -- ---- -------- ---
将此代码保存在名为 app.js
的文件中。
要使用 PM2 部署应用程序,您需要使用以下命令启动应用程序:
--- ----- ------
这将启动应用程序并将其添加到 PM2 管理的进程列表中。您可以使用以下命令查看运行的应用程序列表:
--- ----
输出应如下所示:
-------------------------------------------------------------------------------------------- - ---- - -- - ---- - ------ - - - ------ - ------ - --- - ---- - -------- - -------------------------------------------------------------------------------------------- - --- - - - ---- - ------- - - ---- -- - -- - -- - -------- - -------- - --------------------------------------------------------------------------------------------
现在您的 Express.js 应用程序已经在 PM2 管理的进程中运行了。如果发生故障,PM2 将自动重新启动它。但是此时,您无法通过浏览器连接到应用程序,因为应用程序正在监听本地端口 3000。
使 Express.js 应用程序对外可用
要使应用程序对外可用,您需要将其绑定到公共 IP 地址和端口上。您可以使用 PM2 的 ecosystem.config.js
文件来管理不同的应用程序环境。在当前目录下创建一个名为 ecosystem.config.js
的文件,并将以下代码添加到其中:
-------------- - - ---- - -- ----- -------- ------- ----------- ---- - --------- ------------- ----- ---- - -- --
在此文件中,我们指定了应用程序的名称为 myapp
,它运行的脚本为 app.js
,并且环境变量 PORT
设置为 3000
。在此文件中,还可以设置其他环境变量以及应用程序的其他设置。
保存文件后,使用以下命令重新加载和启动应用程序:
--- ------ ------------------- ----- ----------
应用程序现在应该在公共 IP 地址和端口上运行,您可以在浏览器中访问它了。
PM2 的其他功能
除了管理 Node.js 应用程序之外,PM2 还提供了其他一些有用的功能,例如:
日志管理
PM2 可以将所有应用程序的日志输出到它的日志文件中。要查看应用程序的日志,请使用以下命令:
--- ----
进程监控
PM2 可以实时监视应用程序的 CPU 和内存使用情况,并提醒您在负载过高时启动更多实例。
--- -----
守护进程
PM2 可以在服务器启动时自动启动应用程序,并在服务器意外重启时自动重新启动应用程序。
--- -------
多应用程序管理
使用 PM2,您可以在同一个服务器上管理多个不同的 Node.js 应用程序。
总结
使用 PM2 可以极大地简化 Node.js 应用程序的部署和管理。在本教程中,我们学习了如何安装和配置 PM2,并使用它来部署和管理 Express.js 应用程序。除了管理 Node.js 应用程序之外,PM2 还提供了其他一些有用的功能,例如日志管理、进程监视和守护进程等。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/654bd0687d4982a6eb59fe22