master_file_limit
Alex Vorona
voron на amhost.net
Вс Фев 21 15:03:07 MSK 2010
Привет,
При попытке релоада nginx'а с конфигурацией, которая содержит > 1024 файлов(> 500 доменов,
по 2 лога на домен), nginx не релоадится с ошибкой
2010/02/21 12:42:42 [emerg] 17723#0: open() "/var/log/nginx/www.domain.com.error.log"
failed (24: Too many open files)
В конфиге worker_rlimit_nofile 32768;
for pid in $(pgrep nginx); do ps uax|awk '$2~/^'$pid'$/{print $0}';grep files
/proc/$pid/limits; done
root 17723 0.0 0.4 13748 10124 ? S 12:38 0:00 nginx: master process
/usr/sbin/nginx -c /etc/nginx/nginx.conf
Max open files 1024 1024 files
apache 17724 0.0 0.4 13712 9112 ? S< 12:38 0:00 nginx: worker process
Max open files 32768 32768 files
apache 17725 0.0 0.4 13712 9104 ? S< 12:38 0:00 nginx: worker process
Max open files 32768 32768 files
Рестарт nginx'а с новой конфигурацией проходит нормально
2010/02/21 12:51:41 [notice] 18280#0: OS: Linux 2.6.18-164.10.1.el5
2010/02/21 12:51:41 [notice] 18280#0: getrlimit(RLIMIT_NOFILE): 1024:1024
2010/02/21 12:51:41 [notice] 18281#0: start worker processes
2010/02/21 12:51:41 [notice] 18281#0: start worker process 18282
2010/02/21 12:51:41 [notice] 18281#0: start worker process 18283
однако релоад с ней же по-прежнему не работает с той же ошибкой.
Игорь, это можно как-то исправить кроме как увеличением лимита через ulimit до запуска
nginx'а ? По-моему start nginx'а с последующим неработающим reload для этой же
конфигурации не есть хорошо.
Подробная информация о списке рассылки nginx-ru