簡體   English   中英

PHP-FPM,Monit,ping / status頁面,Apache

[英]PHP-FPM, Monit, ping/status pages, Apache

我試圖用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激活它們。

除了設置FPM池選項之外,Apache / PHP-FPM中究竟需要做什么:

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

我希望能讓我簡單地去:

http://mydomain.com/status

拉起狀態頁面。 當我轉到此URL時,我收到404錯誤。 我假設我需要某種處理程序來重定向/ status和/ ping到我的本地主機端口9000上的FPM服務器。我該怎么做?

您需要在apache(000-default ???)中設置默認vhost來處理/ 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

這個帖子也幫了我...得到了白色的“空白”PHP頁面。

在我的/ etc / nginx / fastcgi_params中添加了這個

 fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name; 

工作就像一個魅力

我在這里發布了有關Bitnami LAMP堆棧的完整問答:

在Bitnami LAMP堆棧中設置並訪問PHP-FPM狀態頁面

那里的細節也應該適用於您的設置,但您可能需要將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的內容,然后在為狀態頁面設置處理程序時復制它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM