Вчера nginx выдал интересный сбой.
nginx на rufox.ru
nginx на rufox.ru
Чт Дек 24 10:15:46 MSK 2009
Вчера после очередного обновления конфигурации nginx (реврайты, новые
хосты и т.п.) выявился интересный глюк.
Система FreeBSD 7.2
По показаниям top -mio -o total nginx грузил диски примерно на 50%,
загрузка процессора 8-10%, мастер процесс памяти съел 18% (700 метров
примерно). При этом перезагрузить его было невозможно. Воркеры
завершились а мастер процесс не убивался даже по kill -9
Пришлось перезагружать сервер.
Перед перезагрузкой изменил в конфигах nginx всего 2 вещи. Убрал из
одного хоста много новых реврайтов (но это думаю не могло повлиять, т.к.
врсе реврайты оканчивались break; , и зацикливания там быть не могло к
примеру) . Также убрал дублирующий домен (когда в разных директивах
server указан один и тот же домен и при старте nginx выдаёт такое сообщение:
Performing sanity check on nginx configuration:
[warn]: conflicting server name "domen.ru" on 0.0.0.0:80, ignored
[warn]: conflicting server name "www.domen.ru" on 0.0.0.0:80, ignored
the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
configuration file /usr/local/etc/nginx/nginx.conf test is successful
Правда раньше такие конфликты никогда не вызывали сбоев. Да и из
предупреждения ясно, что директива просто проигнорирована.
Но тем не менее, после перезагрузки проблема не повторилась.
В чём ещё может быть причина подобного поведения?
Подробная информация о списке рассылки nginx-ru