Перезапуск конкретного пула для php5-fpm

Традиционно сложилось, что при изменении конфигурации php5-fpm чтобы она вступила в силу выполняют команду reload для основного мастер-процесса php5-fpm, по сути — это отправка сигнала SIGUSR2, но как перезапустить только нужный дочерний процесс?

Исходные данные: Debian 8.9 (jessie), nginx 1.13.5, php5-fpm 5.6.30

Традиционно при изменении конфигурации php5-fpm чтобы она вступила в силу выполняют команду:

/etc/init.d/php5-fpm reload

аналогом может служить команда:

kill -USR2 `cat /var/run/php5-fpm.pid`

Но reload не поможет в тех случаях когда например мы установили новый php-модуль и необходимо его использование, для этого нужно выполнять restart, а это уже затронет все php5-fpm пулы. В большинстве случаев такое кардинальное решение не желательно, хочется перезагрузить лишь один конкретный пул на котором работает один конкретный сайт, которому нужен новый php-модуль, а полный restart сделать ночью, когда не так много людей используют сервер.

Как быть?
Решение есть.

Для начала как протестировать конфигурацию php5-fpm?

php5-fpm -t

Протестировать конфигурацию php5-fpm с выводом:

php5-fpm -tt

И собственно магия, gracefull restart a pool

pkill -QUIT -f "php-fpm: pool web1"

Или hard restart a pool

pkill -f "php-fpm: pool web1"

На этом все, до скорых встреч. Если у Вас возникли вопросы или Вы хотите чтобы я помог Вам, то Вы всегда можете связаться со мной разными доступными способами.


Подписаться
Уведомить о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x