node下的后台运行工具pm2
关于
什么是pm2
PM2(Process Manager 2)是一个用于管理和运行 Node.js 应用程序的生产过程管理器。它提供了许多功能,帮助简化在生产环境中部署和管理 Node.js 应用程序的过程。
PM2 的主要功能包括:
-
进程管理:PM2 可以启动、停止、重启和监视应用程序的运行。它可以自动处理应用程序的崩溃和重启,确保应用程序持续可用。
-
负载均衡:PM2 可以根据系统的负载情况自动进行负载均衡,将请求分发给多个应用程序实例,以提高应用程序的性能和可伸缩性。
-
日志管理:PM2 可以实时监视和管理应用程序的日志输出。它可以将日志输出保存到文件中,并提供命令行界面来查看和搜索日志。
-
环境管理:PM2 可以根据不同的环境配置文件(如开发环境、生产环境)来管理应用程序的配置。这样可以轻松地在不同的环境中部署和运行应用程序。
-
远程部署:PM2 支持远程部署,可以通过 SSH 连接到远程服务器,并在远程服务器上管理和运行应用程序。
总之,PM2 是一个强大的工具,可以帮助简化 Node.js 应用程序的部署和管理,提高应用程序的可靠性和性能。它在生产环境中被广泛使用,并受到许多开发者和运维人员的青睐。
如何使用它
- 确保已经全局安装了 PM2。如果没有安装,可以使用以下命令进行安装:
npm install -g pm2
- 启动应用程序:
pm2 start app.js
这将启动名为 “app.js” 的应用程序。
- 停止应用程序:
pm2 stop app
这将停止名为 “app” 的应用程序。
- 重启应用程序:
pm2 restart app
这将重启名为 “app” 的应用程序。
- 显示所有应用程序的状态:
pm2 status
这将显示所有已启动的应用程序的状态信息。
- 显示特定应用程序的状态:
pm2 show app
这将显示名为 “app” 的应用程序的详细状态信息。
- 监视应用程序的日志输出:
pm2 logs app
这将实时显示名为 “app” 的应用程序的日志输出。
- 监视所有应用程序的日志输出:
pm2 logs
这将实时显示所有已启动应用程序的日志输出。
- 列出所有已启动的应用程序:
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
脚本。