linux - PHP-FPM、Monit、ping/状态页面、Apache

标签 linux apache monit php

我正在尝试使用 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-默认???)来处理/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

关于linux - PHP-FPM、Monit、ping/状态页面、Apache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8510233/

相关文章:

linux - 移动除一个以外的所有文件

.net - 我可以使用 Linux/Mono 来部署 aspnet web 应用程序吗?

ruby-on-rails - 确保加载 Rails 应用程序时某些进程正在运行

linux - centos 7中filebeat和metricbeat的pid文件存放在哪里

android - 如何减少 Android 虚拟设备内存的使用?

c++ - Libfaketime Linux 3.1.0?

C++ linux 应用程序在长时间运行后停止系统。如何寻找原因?

php - Windows 7 64 位上的 Xampp 安装错误

php - .htaccess 使文件夹充当根目录?

php-fpm 的监控配置