PM2 是一个针对 Node.js 应用的进程管理工具,可以方便地启动、监控和维护后台进程。本文将详细介绍如何使用 PM2 管理 Node.js 进程,并提供一些示例代码和实用技巧。
安装 PM2
首先,你需要在本地安装 Node.js 环境。然后,在终端中使用 npm 命令安装 PM2:
npm install pm2 -g
启动应用
使用 PM2 启动应用非常简单,只需在终端中执行以下命令:
pm2 start app.js
这将启动名为 “app” 的默认应用。你可以通过 pm2 list
命令查看当前运行的应用信息。
PM2 会自动守护进程,并将其作为系统服务运行。同时,它还会记录日志、监控资源、自动重启进程等等。
管理应用
使用 PM2 可以方便地管理应用。以下命令可以对应用进行操作:
pm2 stop <app>
:停止应用pm2 restart <app>
:重启应用pm2 delete <app>
:删除应用pm2 logs <app>
:查看应用日志pm2 monit <app>
:查看应用资源占用情况
配置选项
PM2 还提供了一些可配置的选项,以便更好地管理应用。以下是常用的一些选项:
-i
:运行多个应用实例,加强应用的稳定性和并发处理能力。-n
:指定应用名称,便于识别和管理。--watch
:监听文件变化,自动重启进程。--ignore-watch
:忽略监听的文件或目录。--max-memory-restart
:设置应用内存占用上限,超过该值自动重启进程。--log-date-format
:设置日志时间格式。
例如,以下命令启动 4 个实例,并设置应用名称为 “myApp”:
pm2 start app.js -i 4 -n myApp
使用 PM2 集群模式
PM2 的集群模式可以启动多个进程实例,提高应用的并发能力。以下是启动集群模式的步骤:
- 编写
ecosystem.config.js
文件,指定应用配置和运行参数,例如:
// javascriptcn.com 代码示例 module.exports = { apps: [{ name: 'myApp', script: './app.js', instances: 2, exec_mode: 'cluster', env: { NODE_ENV: 'production' } }] }
这里指定了应用名称为 “myApp”,启动 2 个实例,使用集群模式,指定环境为生产环境。
- 使用以下命令启动集群模式:
pm2 start ecosystem.config.js
这将读取 ecosystem.config.js
文件中的配置,并启动应用的多个实例。
- 在应用代码中使用负载均衡策略,例如
cluster.fork()
,在多个进程中处理请求。示例如下:
// javascriptcn.com 代码示例 const cluster = require('cluster') const http = require('http') if (cluster.isMaster) { for (let i = 0; i < cluster.worker.length; i++) { cluster.fork() } } else { http.createServer((req, res) => { res.writeHead(200) res.end('Hello World!') }).listen(8080) }
总结
PM2 是一个功能强大的 Node.js 进程管理工具,可帮助我们轻松管理应用、监控资源、自动重启进程等。本文详细介绍了 PM2 的安装、启动、管理和配置选项,同时提供了使用集群模式的实践示例。希望这篇文章对你有所帮助!
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/652c9ca97d4982a6ebe43dce