[英]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.