什么是PM2? 1.介绍 PM2.js是一个Node.js应用程序的进程管理器,可以帮助开发人员在生产环境中管理和监控Node.js应用程序或其他程序的进程。它可以自动重启应用程序,监控应用程序的资源使用情况,以及提供实时日志记录和错误处理等功能。此外,PM2.js还可以通过集成的API和CLI工具来管理和监控多个Node.js应用程序。

对于nodejs的应用程序,PM2有一个负载均衡器:

提高应用程序的可用性和可靠性:负载均衡器可以将请求分配到多个服务器上,从而减轻单个服务器的负载,提高应用程序的可用性和可靠性。 提高应用程序的性能:负载均衡器可以根据服务器的负载情况,将请求分配到负载较低的服务器上,从而提高应用程序的性能。 实现高可扩展性:负载均衡器可以根据需要动态地添加或删除服务器,从而实现高可扩展性。 实现会话保持:负载均衡器可以将同一个客户端的请求分配到同一个服务器上,从而实现会话保持。 实现故障转移:负载均衡器可以检测到服务器的故障,并将请求转发到其他可用的服务器上,从而实现故障转移。

PM2的使用 1.安装PM2 $ npm install pm2@latest -g

or

$ yarn global add pm2

2.启动应用 启动应用:

\( pm2 start app.js \) pm2 start bashscript.sh \( pm2 start python-app.py --watch \) pm2 start binary-file – –port 1520 ……

同时还支持如下一些启动参数:

指定应用程序名称,–name <应用程序名称>

当文件更改时观察并重新启动应用程序,–watch

设置应用程序重新加载的内存阈值,–max-memory-restart <200MB>

指定日志文件,–log <日志路径>

将额外的参数传递给脚本,– arg1 arg2 arg3

自动重启之间的延迟时间,–restart-delay <延迟时间(以毫秒为单位)>

在日志前缀中添加时间,–time

不自动重启应用程序,–no-autorestart

指定强制重启的 cron 表达式,–cron <cron_pattern>

连接到应用程序日志,–no-daemon

指定环境变量 –env json对象

指定时间自动重启 –cron-restart=“0 2 * * *”

3.常用命令 进程管理相关的命令如下:

app_name可以使应用的名称或者ID,也可以是all,代表所有进程

\( pm2 restart app_name \) pm2 reload app_name \( pm2 stop app_name \) pm2 delete app_name

查看应用状态:

$ pm2 [list|ls|status]

查看运行日志:

$ pm2 logs

查看过往日志

$ pm2 logs –lines 200

通过仪表盘查询运行状态:

$ pm2 monit

进程列表相关:

pm2 list命令,显示所有进程状态 pm2 jlist命令,以原始JSON格式打印进程列表 pm2 prettylist命令,以美化的JSON格式打印进程列表 pm2 describe 0命令,显示有关特定进程的所有信息 pm2 monit命令,监视所有进程

进程日志相关:

pm2 logs [–raw]命令,以流式方式显示所有进程日志 pm2 flush命令,清空所有日志文件 pm2 reloadLogs命令,重新加载所有日志

进程操作相关:

pm2 stop all命令,停止所有进程 pm2 restart all命令,重新启动所有进程 pm2 reload all命令,将0秒停机时间重新加载(适用于网络应用程序) pm2 stop 0命令,停止特定的进程ID pm2 restart 0命令,重新启动特定的进程ID pm2 delete 0命令,将进程从pm2列表中删除 pm2 delete all命令,将所有进程从pm2列表中删除

其他的一些命令:

pm2 reset 命令,重置元数据(重新启动时间等) pm2 updatePM2命令,更新内存中的pm2 pm2 ping命令,确保已启动pm2守护程序 pm2 sendSignal SIGUSR2 my-app命令,向脚本发送系统信号 pm2 start app.js –cron-restart=“0 0 * * *”,额外的重启策略 pm2 start app.js –no-daemon命令,启动进程而不使用守护程序 pm2 start app.js –no-vizion命令,启动进程而不使用版本控制 pm2 start app.js –no-autorestart命令,启动进程而不自动重新启动

3.重启和恢复 pm2 startup:

此命令将创建一个启动脚本,以便在系统启动时自动启动PM2进程管理器。在Linux系统中,此命令将创建一个systemd服务文件,而在Windows系统中,此命令将创建一个Windows服务。

\( pm2 startup [platform] \) pm2 startup ubuntu

pm2 save:

此命令将保存当前PM2进程列表,以便在系统重启后自动恢复。对于确保的应用程序在系统重启后自动启动非常有用。

备份当前应用列表

$ pm2 save

手动恢复以前保存的进程(通过 pm2 save):

$ pm2 resurrect

禁用和删除当前的启动配置:

$ pm2 unstartup

4.重启策略

在指定的时间点重新启动应用程序 当文件发生更改时重新启动应用程序 当应用程序达到内存阈值时重新启动 延迟启动和自动重启 默认情况下禁用自动重启(应用程序始终使用PM2重新启动)当崩溃或退出时 以特定的指数递增时间自动重新启动应用程序

监视文件发生改变:

当前目录或其子目录中的文件被修改时,PM2 可以自动重启您的应用程序:

$ pm2 start app.js –watch

到达内存上限时:

$ pm2 start api.js –max-memory-restart 300M

禁用自动重启:

$ pm2 start app.js –no-autorestart

5.脚本管理

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。