pm2

作者: 三省吾身_9862 | 来源:发表于2022-04-22 16:13 被阅读0次

    全局安装

    npm i pm2 -g
    

    项目根目录

    pm2 list // 显示服务进程列表
    pm2 start server.js // 启动服务
    pm2 delete server // 移除服务[服务名]
    pm2 stop server // 停止服务[服务名]
    pm2 restart server // 重启服务[服务名]
    pm2 reload server // 改了代码,重新编译加载服务[服务名]
    
    image.png

    日志

    pm2 log // 查看所有服务日志
    pm2 log server // 查看指定[服务名]日志
    

    生成配置文件

    pm2 ecosystem 
    
    • 配置文件: ecosystem.config.js

    官方文档

    PM2 是具有内置负载均衡器的 Node.js 应用程序的生产流程管理器。它允许您使应用程序永远保持活动状态,在不停机的情况下重新加载它们,并促进常见的系统管理任务。

    在生产模式下启动应用程序非常简单:

    $ pm2 start app.js
    

    PM2 不断受到1800 多项测试的攻击。

    官网:https ://pm2.keymetrics.io/

    适用于 Linux(稳定)和 macOS(稳定)和 Windows(稳定)。从 Node.js 12.X 开始支持所有 Node.js 版本。

    安装 PM2

    使用 NPM:

    $ npm install pm2 -g
    

    您可以使用NVMASDF轻松安装Node.js。

    启动应用程序

    您可以像这样启动任何应用程序(Node.js、Python、Ruby、$PATH 中的二进制文件...):

    $ pm2 start app.js
    

    您的应用程序现在已被守护、监控并永远保持活动状态。

    管理应用程序

    启动应用程序后,您可以轻松管理它们:

    [图片上传失败...(image-c5c8d1-1650616482287)]

    列出所有正在运行的应用程序:

    $ pm2 list
    

    管理应用程序很简单:

    $ pm2 stop     <app_name|namespace|id|'all'|json_conf>
    $ pm2 restart  <app_name|namespace|id|'all'|json_conf>
    $ pm2 delete   <app_name|namespace|id|'all'|json_conf>
    

    要获得有关特定应用程序的更多详细信息:

    $ pm2 describe <id|app_name>
    

    要监控日志、自定义指标、应用程序信息:

    $ pm2 monit
    

    更多关于流程管理

    集群模式:Node.js 负载平衡和零停机重新加载

    Cluster 模式是启动 Node.js 应用程序时的一种特殊模式,它启动多个进程并在它们之间平衡 HTTP/TCP/UDP 查询。这提高了整体性能(在 16 核机器上提高了 10 倍)和可靠性(在出现未处理错误的情况下更快的套接字重新平衡)。

    [图片上传失败...(image-a8b188-1650616482287)]

    在集群模式下启动一个 Node.js 应用程序,它将利用所有可用的 CPU:

    $ pm2 start api.js -i <processes>
    

    <processes>可以是'max'-1(所有 cpu 减 1)或指定数量的实例来启动。

    零停机时间重新加载

    Hot Reload 允许在不停机的情况下更新应用程序:

    $ pm2 reload all
    

    有关 PM2 如何简化集群的更多信息

    容器支持

    node使用名为的插入式替换命令,pm2-runtime在强化的生产环境中运行您的 Node.js 应用程序。使用它是无缝的:

    RUN npm install pm2 -g
    CMD [ "pm2-runtime", "npm", "--", "start" ]
    
    

    阅读有关专用集成的更多信息

    主机监控速度条

    PM2 允许使用监控速度条监控您的主机/服务器生命体征。

    要启用主机监控:

    $ pm2 set pm2:sysmonit true
    $ pm2 update
    

    [图片上传中...(image-b55f43-1650616482287-2)]

    基于终端的监控

    [图片上传失败...(image-70332d-1650616482287)]

    监控直接从命令行启动的所有进程:

    $ pm2 monit
    

    日志管理

    要查阅日志,只需键入以下命令:

    $ pm2 logs
    

    提供标准、原始、JSON 和格式化输出。

    例子:

    $ pm2 logs APP-NAME        #显示 APP-NAME 日志
    $ pm2 logs --json          # JSON 输出
    $ pm2 logs --format        #格式化输出
    
    $ pm2 flush                #刷新所有日志
    $ pm2 reloadLogs           #重新加载所有日志
    

    要启用日志轮换,请安装以下模块

    $ pm2 install pm2-logrotate
    

    有关日志管理的更多信息

    启动脚本生成

    PM2 可以生成和配置启动脚本,以在每次服务器重新启动时保持 PM2 和您的进程处于活动状态。

    支持的初始化系统:systemdupstartlaunchdrc.d

    #生成启动脚本
    $ pm2 startup
    
    #在服务器重启时冻结你的进程列表
    $ pm2 save
    
    #删除启动脚本
    $ pm2 unstartup
    

    有关启动脚本生成的更多信息

    更新 PM2

    #安装最新的 PM2 版本
    $ npm install pm2@latest -g
    #保存进程列表,退出旧的 PM2 并恢复所有进程
    $ pm2 update
    

    PM2 更新是无缝的

    PM2+ 监测

    如果您使用 PM2 管理应用程序,PM2+ 可以轻松监控和管理跨服务器的应用程序。

    image.png

    随意尝试:

    发现 PM2 的监控仪表板

    提前致谢,我们希望您喜欢 PM2!

    相关文章

      网友评论

          本文标题:pm2

          本文链接:https://www.haomeiwen.com/subject/xzhnertx.html