PHP-FPM, Monit, ping / статусные страницы, Apache - PullRequest
3 голосов
/ 14 декабря 2011

Я пытаюсь контролировать мой демон FPM с помощью Monit, и я предполагаю, что следующий метод не является наилучшим из-за повторного появления и изменения 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

Из того, что я могу собратьлучший способ сделать это - использовать URL-адреса проверки связи FPM, только я не могу активировать их с помощью Apache.

Что именно нужно сделать в Apache / PHP-FPM, кроме настройкиопция пула FPM:

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

, что, как я надеялся, позволило бы мне просто перейти к:

http://mydomain.com/status

чтобы открыть страницу статуса.Когда я иду по этому URL, я получаю 404 ошибки.Я предполагаю, что мне нужен какой-то обработчик для перенаправления / status и / ping на мой FPM-сервер через локальный порт 9000. Как я могу это сделать?

Ответы [ 3 ]

9 голосов
/ 15 октября 2012

Вам потребуется настроить vhost по умолчанию в apache (000-default ???) для обработки / 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
3 голосов
/ 11 февраля 2015

эта тема мне тоже помогла ... Получал белые "пустые" страницы PHP.

в моем / etc / nginx / fastcgi_params добавил это

fastcgi_param PATH_TRANSLATED   $document_root$fastcgi_script_name;

Работает как шарм

1 голос
/ 22 мая 2016

Я разместил полный вопрос и ответ по этому поводу, касающемуся стека Лампы Bitnami, здесь:

Настройка и доступ к странице состояния PHP-FPM в стеке Bitnami LAMP

Сведения, которые там должны быть применимы к вашей настройке, но вам, вероятно, потребуется изменить конфигурацию Apache на что-то вроде:

<LocationMatch "/php_fpm_status">
  SetHandler php5-fpm
</LocationMatch>

В основных терминах обработчик должен соответствовать любому имени, которое вы используете для отправки файлов в PHP-FPM. При использовании битнами соответствующая настройка 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, а затем скопируйте это при настройке обработчика для вашей страницы состояния.

...