В процессе работы Apache может возникать ошибка "HTTP: Accept error: accept tcp [::]:<port_number>: accept4: too many open files"
Необходимо поднять лимиты для операционной системы Linux.
После увеличения лимита на количество открытых файлов для сервера необходимо также изменить конфигурационный файл службы.
Созданием файла limit_nofile.conf
Для Apache необходимо создать каталог:
1 | mkdir /lib/systemd/system/httpd.service.d/ |
Затем создать файл limit_nofile.conf:
1 | nano /lib/systemd/system/httpd.service.d/limit_nofile.conf |
LimitNOFILE установить ulimiys для apache и nginx
Добавьте в него:
1 2 | [Service] LimitNOFILE=16000 |
Не забудьте перезапустить службу httpd.
С использование systemctl
Откройте настройки службы с помощью systemctl:
1 | systemctl edit httpd.service |
Добавьте нужные ограничения, например:
1 2 3 | [Service] LimitNOFILE=10000 LimitNOFILESoft=10000 |
После внесения изменений обновите конфигурацию службы и перезапустите ее:
1 2 | systemctl daemon-reload systemctl restart httpd.service |
Проверка
Чтобы проверить, изменились ли значения, получите PID службы:
1 | systemctl status httpd.service |
Например, PID службы равен 3869704:
1 | cat /proc/3869704/limits | grep "Max open files" |
Значение должно быть равно 10000. Таким образом, вы изменили значение Max open files.