PM2是Keymetrics公司开发的Node.js流程管理器。
PM2 是一个带有负载均衡功能的 Node 应用的进程管理器。我们都知道nodejs是单进程执行的,当程序出现错误死掉之后需要能够自动,这时候就需要PM2了。进程管理工具也有其他选择,例如Python开发的Supervisor等等…
PM2 的特点:
工具小巧
内建负载均衡(使用Node cluster 集群模块)
后台运行
具有Ubuntu和CentOS 的启动脚本
停止不稳定的进程(避免无限循环)
控制台检测
提供 HTTP API
远程控制和实时的接口API ( Nodejs 模块,允许和PM2进程管理器交互 )
一、安装
最新的PM2版本可通过NPM或Yarn安装:
$ npm install pm2@latest -g
# or
$ yarn global add pm2
二、启动应用
启动,守护和监视应用程序的最简单方法是使用以下命令行:
$ pm2 start app.js
或轻松启动任何其他应用程序:
$ pm2 start bashscript.sh
$ pm2 start python-app.py --watch
$ pm2 start binary-file -- --port 1520
可以传递给CLI的一些选项:
# Specify an app name
--name <app_name>
# Watch and Restart app when files change
--watch
# Set memory threshold for app reload
--max-memory-restart <200MB>
# Specify log file
--log <log_path>
# Pass extra arguments to the script
-- arg1 arg2 arg3
# Delay between automatic restarts
--restart-delay <delay in ms>
# Prefix logs with time
--time
# Do not auto restart app
--no-autorestart
# Specify cron for forced restart
--cron <cron_pattern>
# Attach to application log
--no-daemon
三、管理流程
管理应用程序状态很简单,以下命令:
$ pm2 restart app_name
$ pm2 reload app_name
$ pm2 stop app_name
$ pm2 delete app_name
除了app_name
您还可以使用:
all
在所有过程中采取行动id
对特定的进程ID采取行动
四、列出托管的应用
列出由PM2管理的所有应用程序的状态:
$ pm2 [list|ls|status]
五、显示日志
实时显示日志:
$ pm2 logs
要挖掘较旧的日志:
$ pm2 logs --lines 200
六、基于终端的仪表板
这是一个直接适合您终端的实时仪表板:
$ pm2 monit
Invitation
QQ Group
1095632335
created:04/01/2020
Welcome to the Group
Use this card to join us and participate in a pleasant discussion together .
Welcome to JISHUSONGSHU Group,wish you a nice day .