关于

什么是pm2

PM2(Process Manager 2)是一个用于管理和运行 Node.js 应用程序的生产过程管理器。它提供了许多功能,帮助简化在生产环境中部署和管理 Node.js 应用程序的过程。

PM2 的主要功能包括:

  1. 进程管理:PM2 可以启动、停止、重启和监视应用程序的运行。它可以自动处理应用程序的崩溃和重启,确保应用程序持续可用。

  2. 负载均衡:PM2 可以根据系统的负载情况自动进行负载均衡,将请求分发给多个应用程序实例,以提高应用程序的性能和可伸缩性。

  3. 日志管理:PM2 可以实时监视和管理应用程序的日志输出。它可以将日志输出保存到文件中,并提供命令行界面来查看和搜索日志。

  4. 环境管理:PM2 可以根据不同的环境配置文件(如开发环境、生产环境)来管理应用程序的配置。这样可以轻松地在不同的环境中部署和运行应用程序。

  5. 远程部署:PM2 支持远程部署,可以通过 SSH 连接到远程服务器,并在远程服务器上管理和运行应用程序。
    总之,PM2 是一个强大的工具,可以帮助简化 Node.js 应用程序的部署和管理,提高应用程序的可靠性和性能。它在生产环境中被广泛使用,并受到许多开发者和运维人员的青睐。

如何使用它

  • 确保已经全局安装了 PM2。如果没有安装,可以使用以下命令进行安装:
    npm install -g pm2
    
  1. 启动应用程序:
pm2 start app.js

这将启动名为 “app.js” 的应用程序。

  1. 停止应用程序:
pm2 stop app

这将停止名为 “app” 的应用程序。

  1. 重启应用程序:
pm2 restart app

这将重启名为 “app” 的应用程序。

  1. 显示所有应用程序的状态:
pm2 status

这将显示所有已启动的应用程序的状态信息。

  1. 显示特定应用程序的状态:
pm2 show app

这将显示名为 “app” 的应用程序的详细状态信息。

  1. 监视应用程序的日志输出:
pm2 logs app

这将实时显示名为 “app” 的应用程序的日志输出。

  1. 监视所有应用程序的日志输出:
pm2 logs

这将实时显示所有已启动应用程序的日志输出。

  1. 列出所有已启动的应用程序:
pm2 list

这将列出所有已启动的应用程序及其相关信息。

要删除一个 PM2 任务,可以使用以下命令:

pm2 delete app

其中,“app” 是要删除的任务的名称或 ID。通过运行上述命令,PM2 将停止并删除指定的任务。

如果你想删除所有的 PM2 任务,可以使用以下命令:

pm2 delete all

这将停止并删除所有的 PM2 任务。

请注意,删除任务将永久删除任务的配置和相关信息。在执行删除操作之前,请确保你不再需要该任务,并且已经备份了任何重要的数据或日志文件。

持久化运行

要在当前文件夹下使用 npm 持久化运行 npm run start 命令,可以使用 PM2 进程管理器。PM2 可以在后台运行 Node.js 应用程序,并在系统启动时自动重新启动它们。

以下是使用 PM2 持久化运行 npm run start 命令的步骤:

  • 进入到你的项目文件夹中,执行以下命令启动应用程序:

    pm2 start npm --name myapp -- run start
    

    在上面的命令中,myapp 是应用程序的名称,你可以根据需要进行更改。npm --name myapp -- run start 是启动命令,其中 run start 是你在 package.json 文件中定义的脚本命令。

  • 应用程序现在会在后台以持久化方式运行。你可以使用以下命令来查看应用程序的状态:

    pm2 status
    

    这将显示所有由 PM2 管理的应用程序的状态信息。

通过使用 PM2,你可以确保 npm run start 命令在后台持久化运行,并具有自动重启功能。如果系统重新启动,PM2 会自动重新启动你的应用程序,确保它们保持运行状态。

请注意,以上步骤假设你已经在项目文件夹中正确配置了 package.json 文件和相应的 start 脚本。