PM2 教程:如何使用 PM2 部署和管理 Express.js 应用程序

什么是 PM2?

PM2 是一个进程管理器,可用于部署和管理 Node.js 应用程序。它可以自动重启应用程序并监视它们的状态,从而可以确保应用程序在任何情况下都能保持运行状态。

PM2 的优点

使用 PM2 部署和管理 Express.js 应用程序具有以下优点:

  1. 无需手动重启应用程序,PM2 可以自动重启应用程序。
  2. 可以监视应用程序的运行状态,并在应用程序闪退或出现错误时自动重新启动。
  3. 提供了日志管理和集中化日志查看。
  4. 可以在多个端口或域名中同时运行应用程序,以提高可用性。

安装和配置 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


纠错
反馈