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

bes*_*n3c 3 php linux apache monit

我试图用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
Run Code Online (Sandbox Code Playgroud)

从我可以收集的内容来看,更好的方法是使用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服务器.我该怎么做?

jmo*_*moz 10

您需要在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;
}
Run Code Online (Sandbox Code Playgroud)

然后允许我这样做curl localhost/status.

您还需要更改您的php-fpm conf(我的是www.conf)并取消注释行:

pm.status_path = /status
ping.path = /ping
Run Code Online (Sandbox Code Playgroud)