По поводу сигналов ошибся похоже, после kill -HUP 5391 появились новые
рабочие процессы, причем очень быстро исчезли старые, хотя обычно старые
выходят секунд 30, т.к. заканчивают обработку текущих запросов, только
новые запросы все равно не обрабатываются:
Если вести лог на уровне notice, то в логах будут записи о сигналах,
старте и выходе процессов:
2005/11/01 11:35:32 [notice] 82527#0: signal 1 (SIGHUP) received,
reconfiguring
2005/11/01 11:35:32 [notice] 82527#0: reconfiguring
2005/11/01 11:35:32 [notice] 82527#0: using the "kqueue" event method
2005/11/01 11:35:32 [notice] 82527#0: start worker processes
2005/11/01 11:35:32 [notice] 82527#0: start worker process 19260
2005/11/01 11:35:33 [notice] 82527#0: signal 23 (SIGIO) received
2005/11/01 11:35:33 [notice] 82527#0: signal 23 (SIGIO) received
2005/11/01 11:35:33 [notice] 18530#0: gracefully shutting down
2005/11/01 11:39:02 [notice] 18530#0: exiting
2005/11/01 11:39:02 [notice] 82527#0: signal 20 (SIGCHLD) received
2005/11/01 11:39:02 [notice] 82527#0: worker process 18530 exited with code
0
2005/11/01 11:39:02 [notice] 82527#0: signal 23 (SIGIO) received
Мне удалось как-то смоделировать ситуацию :)
При изменении кол-ва воркеров в конфиге с 3 до 1, а потом kill -HUP, nginx
точно также перестает обрабатывать запросы.
То есть, nginx номрально обрабатывает запросы, после чего делаем -HUP,
предварительно уменьшив число рабочих процессов и запросы перестают
обрабатываться ?
Если же менять с 1 до 3. то все в порядке. Сделал отдельный лог с уровнем
Notice на этот случай.
error_log logs/notice.log notice;
только почему-то в этом логе увидел только пару десятков записей с уровня
error, про сигналы и процессы ни слова.
Это общий error_log для всего сервера ?
Игорь Сысоев
http://sysoev.ru