noahjahn / craft-php-fpm-status-monitor

从Craft CMS控制面板仪表板监控PHP FPM状态

0.0.1.1 2022-03-11 17:32 UTC

This package is auto-updated.

Last update: 2024-09-11 23:08:41 UTC


README

Craft PHP FPM Status Monitor是一个Craft CMS 3插件,允许您从Craft CMS控制面板仪表板监控PHP FPM状态。

此插件仍在开发中。

要求

  • PHP 8.0(可能也适用于7.4)
  • 运行带有FastCGI进程管理器(PHP FPM)的PHP
    • 包括PHP FPM pm.status_path配置
  • 配置了Web服务器以允许向配置的PHP FPM状态路径发送请求
  • 这仅在Craft 3.7.35上进行了测试,但可能适用于所有3.x.x版本
  • Composer(我是说,这也是Craft的一个依赖项:)

安装

  1. 在终端中,从Craft项目的根目录使用composer安装此包
composer require noahjahn/craft-php-fpm-status-monitor

或者,如果您像我一样不喜欢在本地机器上安装依赖项,而是希望使用Docker安装

docker run --rm --user $UID:$UID -w /app -v "$(pwd):/app" composer require noahjahn/craft-php-fpm-status-monitor
  1. 在浏览器中,登录到Craft站点的管理员用户,打开控制面板 > 设置 > 插件并安装插件

配置

  1. 在服务器上PHP FPM配置中配置pm.status_path

    PHP FPM配置示例(在您的服务器上,或在您的容器中,PHP FPM配置可能位于/usr/local/etc/php-fpm.d/

    pm.status_path = /fpm-status
    
  2. 配置Web服务器以能够向之前配置的状态路径发送请求

    建议不要允许公开访问此端点。

    以下是位于server块下的nginx配置示例(您的fastcgi_pass值可能不同)

    # Allow fpm ping and status from localhost and private IPs
    location ~ ^/(fpm-status)$ {
        access_log off;
        # Private IPs:
        allow 10.0.0.0/8;
        allow 172.16.0.0/12;
        allow 192.168.0.0/16;
        allow 127.0.0.1;
        deny all;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass php-fpm;
    }
  3. 在您的网站控制面板中,将插件的设置中的path设置为所选路径值

使用案例

  • 从控制面板仪表板查看php-fpm状态信息

想法与未来

  • 存储过去使用中的php-fpm工作进程数量的指标
  • 提供更好的配置,考虑到总内存、PHP内存限制和OPCache内存配置