前言
PM2 是一个跨平台的 Node.js 进程管理器,用于管理 Node.js 应用程序的启动、运行、停止等操作。相比于 Node.js 自带的进程管理器,PM2 具有更加强大的功能,例如监视、日志管理、负载均衡等。
安装与使用
安装
使用 npm 安装 PM2:
npm install -g pm2
使用
启动项目:
pm2 start app.js --name my-app
列出所有的进程:
pm2 list
其他命令:
# 停止进程 pm2 stop my-app # 重启进程 pm2 restart my-app # 删除进程 pm2 delete my-app
启动参数详解
当使用 PM2 启动应用程序时,可以指定一些参数对程序进行配置。下面是一些常用的启动参数及其含义:
- -n, --name: 进程名称
- -i, --instances: 执行的实例数
- -w, --watch: 监视文件变化并重启进程
- --max-memory-restart: 堆空间使用超过限制时重启进程
- -e, --error: 错误日志文件路径
- -o, --output: 输出日志文件路径
- --merge-logs: 合并所有日志文件到一个文件
- --cron: 自定义 Cron 定时任务
指定进程名称
指定进程名称可以更好地管理进程。
pm2 start app.js --name my-app
多进程
使用 -i 参数指定执行的实例数。当 Node.js 应用程序需要更好的性能时,通过多进程的方式可以实现负载均衡。
pm2 start app.js -i max
其中,-i max 表示使用 CPU 核心数来启动进程。
监视文件变化
使用 --watch 参数可以自动重启进程。
pm2 start app.js --watch
系统负载
当堆空间使用超过限制时,可使用 --max-memory-restart 参数重启进程。
pm2 start app.js --max-memory-restart 100M
其中,--max-memory-restart 100M 表示堆空间使用超过 100M 时重启进程。
日志管理
启动 PM2 进程时,可以通过 -e 和 -o 参数指定错误日志和输出日志的路径。
pm2 start app.js -e ./logs/error.log -o ./logs/access.log
同时,--merge-logs 参数可以合并所有日志文件到一个文件。
pm2 start app.js --merge-logs
自定义定时任务
使用 --cron 参数可以自定义 Cron 定时任务。
pm2 start app.js --cron "*/10 * * * *"
其中,*/10 * * * * 表示每 10 分钟执行一次。
总结
PM2 是一个非常强大的 Node.js 进程管理器,能够方便地管理 Node.js 应用程序的启动、运行、停止等操作。通过本文的介绍,相信大家已经掌握了 PM2 的基本使用和常用启动参数的含义,可以更好地使用 PM2 来管理自己的应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64c3449e83d39b488173f7c1