Пытался поднять MaxClients в apache для сайта с довольно высокой посещаемостью ..
Но я продолжал получать эту ошибку:
WARNING: MaxClients of 565 exceeds ServerLimit value of 256 servers, lowering MaxClients to 256. To increase, please see the ServerLimit directive. Syntax OK
Итак, после некоторого поиска я включил:
StartServers 5 MinSpareServers 15 MaxSpareServers 30 ServerLimit 565 MaxClients 565 MaxRequestsPerChild 2000
После плавного перезапуска предупреждение не появилось, и все выглядело нормально.
Однако после проверки моего apache error.log предупреждение все еще существует.
** [notice] Graceful restart requested, doing restart WARNING: MaxClients of 565 exceeds ServerLimit value of 256 servers, lowering MaxClients to 256. To increase, please see the ServerLimit directive. ** [warn] WARNING: Attempt to change ServerLimit ignored during restart
Повлияет ли ограничение ServerLimit? как сработал изящный перезапуск ... Кто-нибудь может пролить свет?
Ура!
Я думаю, вам нужно будет остановить и запустить httpd (чтобы останавливать и запускать «главный» процесс httpd, а не только дочерние процессы). Из записи документации Apache на ServerLimit:
«Любые попытки изменить эту директиву во время перезапуска будут проигнорированы, но MaxClients можно изменить во время перезапуска».
На самом деле вы должны убедиться в двух вещах, чтобы это подействовало:
ServerLimit
приходит перед MaxClients
в конфигурации Apache, иначе Apache прочитает MaxClients
сначала и произвести ту же ошибкуЕсть и другие очевидные предостережения, например, убедитесь, что он не в неправильном месте, внутри <If>
блок, который не читается например.
apachectl graceful
не сработает, тем более что apachectl restart
тоже не пойдет.
Решение /etc/init.d/httpd restart
или service httpd restart