linux PHP-FPM,Monit,ping/status pages,Apache

0aydgbwb  于 2023-06-21  发布在  Linux
关注(0)|答案(3)|浏览(105)

我试图用Monit监控我的FPM守护进程,我假设由于重生和PID变化,下面的技术不是最好的?

check process php5-fpm with pidfile "/var/run/php5-fpm.pid"
    start = "/etc/init.d/php5-fpm start"
    stop = "/etc/init.d/php5-fpm stop"
    if failed port 80 protocol http then restart

据我所知,更好的方法是使用FPM ping URL,只是我无法用Apache激活这些URL。
在Apache/PHP-FPM中,除了设置FPM池选项之外,还需要做什么:
pm.status_path = /status ping.path = /ping
我希望它能让我简单地
http://mydomain.com/status
打开状态页面当我访问这个URL时,我得到了404错误。我假设我需要某种处理程序将/status和/ping重定向到本地主机端口9000上的FPM服务器。我该怎么做?

iyzzxitl

iyzzxitl1#

你需要在apache中设置默认的vhost(000-default???)来处理/status和/ping。我使用nginx(抱歉,但根据需要进行调整),我的default文件具有以下位置指令:

location ~ ^/(status|ping)$ {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    allow 127.0.0.1;
    deny all;
}

然后允许我curl localhost/status
你还需要修改你的php-fpm conf(我的是www.conf)并取消注解:

pm.status_path = /status
ping.path = /ping
4urapxun

4urapxun2#

这篇文章也帮助了我……出现了白色的“空白”PHP页面。
在我的**/etc/nginx/fastcgi_params**中添加了这个

fastcgi_param PATH_TRANSLATED   $document_root$fastcgi_script_name;

效果很好

fdx2calv

fdx2calv3#

我在这里发布了一个关于Bitnami LAMP堆栈的完整Q&A:
Set up and access the PHP-FPM status page in Bitnami LAMP stack
这里的细节也应该适用于您的设置,但您可能需要将Apache配置更改为以下内容:

<LocationMatch "/php_fpm_status">
  SetHandler php5-fpm
</LocationMatch>

基本上,处理程序应该首先匹配您用来向PHP-FPM发送文件的任何名称。使用bitnami时,相关的conf设置如下所示:

<IfDefine USE_PHP_FPM>
  <Proxy "unix:/path/to/bitnami/php/var/run/www.sock|fcgi://www-fpm" timeout=300>
  </Proxy>
  <FilesMatch \.php$>
    SetHandler "proxy:fcgi://www-fpm"
  </FilesMatch>
</IfDefine>

因此,对于此设置,我们用途:

<LocationMatch "/php_fpm_status">
  SetHandler "proxy:fcgi://www-fpm"
</LocationMatch>

但是对于任何其他安装,请查找PHP-FPM通常使用的内容,然后在为状态页面设置处理程序时复制该内容。

相关问题