Система: LEMP работает в Ubuntu 14.04
Я пытаюсь настроить инструмент Monit для перезапуска Nginx или PHP-FPM, если возникнет проблема. Он правильно отслеживает Nginx, однако в статусе PHP-FPM он говорит «Не отслеживает». Видимо я прошу проверить неправильное место.
Вот моя конфигурация 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
Я придерживался предложенных рекомендаций по запуску и остановке, несмотря на то, что всегда перезапускался с помощью «service php5-fpm restart».
Моя группа - согласно /etc/php5/fpm/pool.d/www.conf - это «group = www-data». Я проверил свой php-fpm.conf и заметил, что файл PID создается в /var/run/php5-fpm.pid, поэтому я изменил его. Затем Monit сказал «Инициализация», а затем «Ошибка подключения». Какие-либо предложения?
Это конфигурация, которую я использую долгое время и отлично работает
check process php5-fpm with pidfile /var/run/php5-fpm.pid
group phpcgi
if not exist for 2 cycles then restart
start program = "/usr/sbin/service php5-fpm start"
stop program = "/usr/sbin/service php5-fpm stop"
if not exist for 2 cycles then restart
if failed unixsocket /var/run/php5-fpm.sock then restart
if 5 restarts within 5 cycles then timeout
Хорошо, я смог решить это сам. Возник ряд проблем. «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