pm2 服务进程管理

我们使用NodeJS或Express等框架编写服务端程序时,难免出现没做好错误处理或是由于其他原因,导致进程意外终止的情况。pm2是NodeJS的一个服务进程管理工具,它能在进程崩溃后自动重启,此外还提供了一个监控界面,保证服务程序的可用性。

安装pm2

pm2一般对于我们本地开发电脑是用不上的,因此通常是在服务器上安装,此时建议全局安装到系统中,以便管理多个进程。

npm install -g pm2

使用pm2启动服务

这里我们有一个Express编写的HTTP服务,不使用pm2时启动命令可能为node ./index.js。如果使用pm2管理服务,则启动命令如下:

pm2 start ./index.js

执行后,我们会看到类似如下的输出:

pm2可以管理多个服务,被管理的服务会显示在列表中。

在Docker镜像中使用pm2

如果在Docker镜像中使用pm2,注意我们需要使用--no-daemon参数保留前台进程,否则容器会直接结束运行。

pm2 start ./index.js --no-daemon

pm2管理服务命令

pm2提供了一些命令来管理其维护的进程列表,这里我们简单介绍一下。

启动app.js服务进程:

pm2 start app.js

查看服务进程列表:

pm2 list

停止pm2表格中序号为1的服务进程:

pm2 stop 1

删除pm2表格中序号为1的服务进程:

pm2 delete 1

pm2监控面板

我们可以直接使用以下命令查看pm2的监控面板(它是类似Vim的一个基于终端的GUI):

pm2 monit
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。
Copyright © 2017-2024 Gacfox All Rights Reserved.
Build with NextJS | Sitemap