Node.js 是一种基于 Chrome V8 引擎的 JavaScript 运行环境,是一种轻量级、高效、事件驱动的框架。而随着 Node.js 的应用越来越广泛,如何在运行 Node.js 项目的过程中进行监控,成为了开发者们亟待解决的问题。而这时,PM2 就是一种非常好的解决方案了。
什么是 PM2
PM2 全称 Process Manager 2,是一个由 Node.js 应用程序开发者创建的进程管理器。PM2 可以帮助我们管理常见的 Node.js 相关的任务,如应用程序的启动、停止、重启,同时还可以监控进程的运行状况以及日志输出等。
安装 PM2
首先,我们需要使用 npm 进行 PM2 安装:
npm install pm2@latest -g
启动和停止应用
使用 PM2 启动和停止一个应用程序非常简单,首先,在项目的根目录下用命令行输入:
pm2 start app.js
其中,app.js 是您要启动的程序的主入口。
接下来,您可以使用以下命令停止、重新启动、删除程序:
pm2 stop app pm2 restart app pm2 delete app
管理多个应用程序
当您需要同时管理多个应用程序时,PM2 可以非常方便的对多个进程进行管理。例如,您可以这样启动多个不同的 Node.js 程序:
pm2 start app1.js pm2 start app2.js pm2 start app3.js
那么,您可以使用以下命令来查看治理或监视多个进程的列表:
pm2 list pm2 monit
使用 PM2 监控 Node.js 项目
使用 PM2 可以帮助我们轻松地监控 Node.js 项目,以便更好地了解 Node.js 项目的运行状态。想要完成监控,我们需要将 PM2 和 Node.js 项目进行关联。请按照以下步骤进行操作:
启动 Node.js 项目,以确保应用程序运行正常。
运行以下命令安装进入 pm2 日志。
pm2 install pm2-logrotate
运行以下命令在日志文件中启用时间戳:
pm2 set pm2-logrotate:dateFormat 'YYYY-MM-DD_HH-mm-ss'
完成前两个步骤后,在启动您的 Node.js 应用程序时添加配置:
pm2 start app.js –-name my-app --watch --ignore-watch="node_modules" --log-date-format="YYYY-MM-DD HH:mm:ss" --max-restarts 3 --cwd "/path/to/your/project/folder" -i 0
完整的命令解释说明:
- --name:为应用程序命名。
- --watch:监控在工作目录中更改的文件。
- --ignore-watch="node_modules":忽略 node_modules 目录中的文件更改。
- --log-date-format="YYYY-MM-DD HH:mm:ss":在日志文件中添加时间戳。
- --max-restarts:设置应用程序崩溃后的最大重启次数。
- --cwd:应用程序的工作目录。
- -i 0:根据可用 CPU 核心运行的应用程序副本数 (0 = 自动检测最佳值)。
下面是一段示例代码:
-- -------------------- ---- ------- ----- ---- - ---------------- -------------------------- ----- ---- - -------------- - ---- ----------------------------- -------------- -------------- ---------- --------------- ------------- ------------------- ------- -- -------------------------
总结
在使用 Node.js 项目时,PM2 是一种非常实用的工具,它可以帮助我们管理 Node.js 相关任务以及对 Node.js 项目进行监控等功能。在本篇文章中,我们介绍了 PM2 的相关概念、安装方法以及使用方法,并提供了监控 Node.js 项目时的设置方法以及示例代码。希望这篇文章能够帮助读者更好的了解和使用 PM2。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/645afba8968c7c53b0d56b0c