前言
在前端开发中,我们经常会需要启动多个 Node.js 进程来处理一些任务,例如启动一个 web 服务器或是使用 gulp、webpack 等工具进行构建。然而,手动管理这些进程往往会很麻烦,因此,我们需要一款能够方便地管理 Node.js 进程的工具,而 pm2 就是这样一款工具。本文将介绍如何使用 @cutii/pm2 进行 Node.js 进程管理。
安装
首先,需要全局安装 @cutii/pm2:
npm install -g @cutii/pm2
基本使用
启动进程
使用 pm2 start
命令启动一个进程:
pm2 start index.js --name my-app
其中,index.js
可替换为任意有效的 Node.js 入口文件;--name
参数用于指定进程的名称,可快速识别出不同进程。
查看进程列表
使用 pm2 list
命令查看当前所有进程的状态:
pm2 list
如下图所示:
监控进程状态
使用 pm2 monit
命令可以查看进程的 CPU、内存等使用情况:
pm2 monit
如下图所示:
停止进程
使用 pm2 stop
命令停止指定的进程:
pm2 stop my-app
其中,my-app
为指定的进程名称。
重启进程
使用 pm2 restart
命令重启指定的进程:
pm2 restart my-app
删除进程
使用 pm2 delete
命令删除指定的进程:
pm2 delete my-app
高级使用
配置文件
在实际开发中,我们可能需要为每个进程设置不同的参数,例如环境变量、端口号等。这时,我们可以使用 pm2 的配置文件来指定这些参数。配置文件通常为一个 JSON 文件,例如:
-- -------------------- ---- ------- - ------- - - ------- --------- --------- ----------- ------ - ----------- ------------ -- ------------ -- ------------ --------- - - -
其中,apps
数组中可以包含多个进程配置信息,每个进程的属性包括:
name
:进程的名称;script
:进程的入口文件路径;env
:进程的环境变量;instances
:进程的实例数(默认值为 1);exec_mode
:进程的运行模式(默认值为 fork,即每个实例在单独的子进程中运行)。
启动多个进程
使用 pm2 start
命令启动配置文件中指定的所有进程:
pm2 start ecosystem.config.json
实时日志
使用 pm2 logs
命令可以查看所有进程的日志输出:
pm2 logs
启用自动重载
在运行 Node.js 进程的过程中,有时会由于代码更新导致进程崩溃,因此,我们需要一种机制来自动重载应用,以最小化 downtime。pm2 提供了一个 built-in 的自动重载插件,可以通过 pm2 install pm2-auto-reload
命令来安装。
实时监控
pm2 还提供了实时监控功能,可以通过 pm2 monit
命令来查看进程的实时状态。
总结
在前端开发中,使用 pm2 可以方便地启动、监控和管理 Node.js 进程,从而提高开发效率和运维效率。本文介绍了 @cutii/pm2 的基本使用和高级使用,希望能够帮助读者更好地使用 pm2 进行进程管理。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056cc781e8991b448e64cd