Исправляем ошибку Nginx accept() failed (24: Too many open files)

При высокой нагрузке на сервер (логи на моем сервере эта ошибка взорвала при 500 000 просмотров в сутки) в логах nginx может появится большое количество записей вида:

2012/04/11 09:05:48 [alert] 13265#0: accept() failed (24: Too many open files)
2012/04/11 09:05:48 [alert] 13265#0: accept() failed (24: Too many open files)
2012/04/11 09:05:48 [alert] 13265#0: accept() failed (24: Too many open files)
2012/04/11 09:05:48 [alert] 13265#0: accept() failed (24: Too many open files)
2012/04/11 09:05:48 [alert] 13265#0: accept() failed (24: Too many open files)
2012/04/11 09:05:48 [alert] 13265#0: accept() failed (24: Too many open files)
2012/04/11 09:05:48 [alert] 13265#0: accept() failed (24: Too many open files)
2012/04/11 09:05:48 [alert] 13265#0: accept() failed (24: Too many open files)
2012/04/11 09:05:48 [alert] 13265#0: accept() failed (24: Too many open files)
2012/04/11 09:05:48 [alert] 13265#0: accept() failed (24: Too many open files)

В интернете рекомендуют увеличить лимит операционной системы open files, но в случае nginx-а необходимо воспользоваться параметром worker_rlimit_nofile. Просто добавляем строку вида

worker_rlimit_nofile 16384;

в начало конфигурационного файла /etc/nginx/nginx.conf и перечитываем конфиг командой:
/etc/init.d/nginx reload

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий