Настройте Monit для мониторинга PHP5-FPM при установке Ubuntu/Nginx.

Система: LEMP, работающий на Ubuntu 14.04.

Я пытаюсь настроить инструмент Monit для перезапуска Nginx или PHP-FPM, если возникнет проблема. Он правильно отслеживает Nginx, однако Monit говорит, что он «не отслеживает». Видимо я проверяю не в том месте.

Вот моя конфигурация Nginx для PHP-FPM, работающего на сокете:

location ~ \.php$ { ## Execute PHP scripts
    if (!-e $request_filename) { rewrite / /index.php last; } ## Catch 404s that try_files miss

    expires off; ## Do not cache dynamic content
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params; ## See /etc/nginx/fastcgi_params

    fastcgi_keep_conn on; #hhvm param
}

Вот моя конфигурация Monit для Nginx и PHP-FPM:

## Check Nginx
check process nginx with pidfile /var/run/nginx.pid
    start program = "/etc/init.d/nginx start"
    stop program = "/etc/init.d/nginx stop"
## Check PHP-FPM
check process php-fpm with pidfile /var/run/php-fpm/php-fpm.pid
  group www-data #change accordingly
  start program = "/etc/init.d/php5-fpm start"
  stop program  = "/etc/init.d/php5-fpm stop"
  if failed unixsocket /var/run/php-fpm/php-fpm.sock then restart
  if 3 restarts within 5 cycles then timeout

Я пошел с предложенными рекомендациями по запуску и остановке, несмотря на то, что всегда перезапускал с «перезапуском службы php5-fpm».

Моя группа — согласно /etc/php5/fpm/pool.d/www.conf — это «group = www-data». Какие-либо предложения?


person sparecycle    schedule 04.12.2014    source источник
comment
Я нашел часть проблемы. Оказывается, мой файл PID был фактически настроен (по умолчанию для Ubuntu) так, чтобы он располагался в /var/run/php5-fpm.pid. Теперь он говорит Инициализация   -  person sparecycle    schedule 04.12.2014


Ответы (1)


Хорошо, я смог решить это сам. Возник ряд проблем. «php5» должен был заменить почти каждый экземпляр «php». Плохое соединение, которое я получал, относилось к unixsocket, поэтому мне также пришлось обновить его. Также изменилось новое расположение PID, похожее на PHP5-FPM. Вот окончательная конфигурация.

## Check PHP-FPM
check process php5-fpm with pidfile /var/run/php5-fpm.pid
  group www-data #change accordingly
  start program = "/etc/init.d/php5-fpm start"
  stop program  = "/etc/init.d/php5-fpm stop"
  if failed unixsocket /var/run/php5-fpm.sock then restart
  if 3 restarts within 5 cycles then timeout
person sparecycle    schedule 04.12.2014
comment
Спасибо, я тоже это заметил. - person sparecycle; 04.12.2014