彻底搞懂 PM2:Node.js 进程管理与部署利器

Node.js 的出现一度让 JavaScript 能够脱离浏览器,作为一种全栈语言,它可以替代传统的后台语言,如 PHP、Python 等。然而,随着 Node.js 项目的规模和数量不断增加,如何高效地管理 Node.js 进程也成为 Node.js 开发者面临的一个问题。而 PM2(Process Manager 2)就是一种 Node.js 进程管理与部署利器,本文将详细讲解 PM2 的使用方法及其优点。

什么是 PM2

PM2 是由 Unitech 公司开源的一种 Node.js 进程管理工具,可以帮助你简化 Node.js 应用程序的管理。通过 PM2,你可以轻松地启动、停止、重启、删除 Node.js 应用程序,并监控它们的运行状态。

与其他进程管理工具不同,PM2 的优势在于,它支持负载均衡、多线程、自动重启等多种功能,从而可以提高 Node.js 服务的健壮性和性能。此外,PM2 还支持 Node.js 应用程序的部署,它可以将代码上传到远程服务器,并在服务器上将应用程序部署为守护程序。

PM2 的安装

在开始使用 PM2 之前,你需要先安装它。可以使用以下命令在全局范围内安装最新版本的 PM2:

安装完成后,你可以通过以下命令检查 PM2 是否安装成功:

如果 PM2 安装成功,则输出 PM2 的版本信息。

PM2 的使用

启动进程

启动应用程序的最简单方法是使用以下命令:

这将使用 PM2 启动名为 app.js 的应用程序。如果当前目录中存在多个 JavaScript 文件,则可以通过指定要启动的文件名来启动其他文件。

这将会启动 main.js 文件,并将进程命名为 myapp。

PM2 支持使用以下方法启动多个进程,从而实现负载均衡:

此命令将根据 CPU 核心的数量启动多个进程。也可以手动指定要启动的进程数。

监控进程

使用以下命令可以监控 PM2 管理的进程的状态:

以上命令会打开一个 Web 界面,显示所有已启动的进程的状态,包括 CPU 占用率、内存使用情况、请求次数等。

停止进程

使用以下命令可以停止 PM2 管理的进程:

其中 app 是要停止的进程的名称或 ID。也可以使用以下命令停止所有进程:

重启进程

使用以下命令可以重启 PM2 管理的进程:

其中 app 是要重启的进程的名称或 ID。也可以使用以下命令重启所有进程:

删除进程

使用以下命令可以删除 PM2 管理的进程:

其中 app 是要删除的进程的名称或 ID。

部署应用程序

PM2 还支持将应用程序部署到 远程服务器上。以下是部署应用程序的步骤:

  1. 首先,在本地计算机上生成一个 SSH 密钥对:
  1. 然后,将公钥添加到远程服务器的 authorized_keys 文件中:
  1. 登录到远程主机并安装 PM2:
  1. 在本地计算机上上传应用程序的代码:

其中 myapp 是要上传的应用程序的目录名称。

  1. 在远程计算机上使用 PM2 启动应用程序:

这将在远程计算机中启动一个名为 myapp 的应用程序。

总结

PM2 是一个简单、易用、高效的 Node.js 进程管理工具,它支持负载均衡、多线程、自动重启等多种功能,对于 Node.js 的大型或复杂项目,使用 PM2 可以提高项目的健壮性和性能,同时也可以方便地管理和部署应用程序。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/652e6b297d4982a6ebf71c71


纠错
反馈