По поводу сигналов ошибся похоже, после 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, про сигналы и процессы ни слова.