[英]Unable to start php-fpm - “cannot get uid for user '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
我希望能讓我簡單地去:
拉起狀態頁面。 當我轉到此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.