什么是 PM2
PM2 是一个基于 Node.js 的进程管理工具,它可以让我们方便地启动、停止、重启、监控、负载均衡 Node.js 应用程序。 PM2 支持长期运行,并能够为您的应用程序提供自动化的错误恢复。同时还提供了实时日志、进程监控等功能。
安装 PM2
在 Linux 环境中,我们可以通过 Node.js 的包管理器 npm 来安装 PM2。打开终端并执行以下命令:
sudo npm install -g pm2
使用 PM2 启动进程
PM2 支持多种启动方式,比如启动一个 Node.js 应用程序、一个脚本文件或者一个命令行命令等等。
以启动一个 Node.js 应用程序为例,我们可以先在项目目录下打开终端,并执行以下命令:
pm2 start app.js
其中 app.js
是项目入口文件。执行以上命令后,PM2 会自动在后台启动我们的应用程序,并为其生成一个 PID(进程 ID)。
查看进程状态
执行以下命令可以查看当前所有 PM2 管理的进程的状态:
pm2 status
执行以下命令可以查看某个进程的详细信息:
pm2 describe <process_id>
其中 <process_id>
即为进程的 PID。
监控进程资源
PM2 可以为我们监控当前进程的资源使用情况,比如 CPU 占用率、内存占用情况等。使用以下命令可以查看当前所有进程的资源情况:
pm2 monit
实时日志输出
使用以下命令可以查看某个进程的实时日志输出:
pm2 logs <process_name>
其中 <process_name>
即为进程的名称,可以通过 pm2 list
命令查看。
重启、停止进程
PM2 支持restart
、stop
、delete
等命令操作,例如重启某个进程可以执行以下命令:
pm2 restart <process_id>
停止某个进程可以执行以下命令:
pm2 stop <process_id>
删除某个进程可以执行以下命令:
pm2 delete <process_id>
自动重启和守护进程
PM2 提供了自动重启和守护进程的功能,这意味着如果我们的应用程序意外崩溃或者停止运行,PM2 可以自动重启它,并防止进程在后台运行。
我们可以通过以下命令打开守护进程模式:
pm2 start app.js --name "myapp" --watch --ignore-watch="node_modules" --autorestart --max-memory-restart 500M
其中 --watch
表示监控文件的变化,自动重启,--ignore-watch="node_modules"
表示忽略监控 node_modules 目录下的文件变化,--autorestart
表示自动重启,--max-memory-restart 500M
表示当内存使用达到 500M 时自动重启。
总结
PM2 是一个非常好用的 Node.js 进程管理工具,可以为我们解决 Node.js 应用程序的管理和监控问题。它支持多种启动和管理方式,同时还提供了实时日志、监控、自动重启和守护进程等功能,非常适合在 Linux 环境下使用。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6548570e7d4982a6eb29d2e3