ни prefork, ни рабочие настройки не найдены в /etc/apache2/apache2.conf - почему?

10

Я только что установил Apache 2.4.7 (Ubuntu) в своей системе Ubuntu 14.04 LTS и не вижу ни prefork, ни рабочих настроек в /etc/apache2/apache2.conf. Они также не определены для виртуального хоста по умолчанию. Должен ли я установить их сам в apache2.conf, как это?

<IfModule mpm_prefork_module>
    StartServers 2
    MinSpareServers 2
    MaxSpareServers 5
    MaxClients 200 #must be customized
    ServerLimit 200 #must be customized
    MaxRequestsPerChild 100
</IfModule>
Максим Корецкий
источник

Ответы:

10

Ubuntu 14 организует все специфичные для модуля конфиги в отдельных файлах /etc/apache2/mods-available/, так что материал prefork MPM теперь находится в/etc/apache2/mods-available/mpm_prefork.conf

Нарисовал
источник
4

Вы искали эти настройки внутри /etc/apache2/conf.d/? Вполне вероятно, что эти настройки хранятся в отдельных включенных файлах, чтобы упростить упаковку.

Должен ли я установить их сам в apache2.conf, как это?

<IfModule mpm_prefork_module>
    StartServers 2
    MinSpareServers 2
    MaxSpareServers 5
    MaxClients 200 #must be customized
    ServerLimit 200 #must be customized
    MaxRequestsPerChild 100
</IfModule>

Да, вы можете поместить их в apache2.conf (хотя ищите их в других файлах, conf.d/как указано выше).

Ваш MaxRequestsPerChild кажется очень низким - это может быть тысячами.

Если вы используете mod_php, ваши MaxClients должны быть значительно снижены, если у вас не много гигабайт оперативной памяти.

thomasrutter
источник
Спасибо за Ваш ответ. Моя установка Apache не имеет conf.dна /etc/apache2/. Как это возможно?
Максим Корецкий
Извините, вот что я получил за написание этого ответа без тестирования 14.04. У меня только 12.04. Либо они изменили каталоги для apache, либо что-то еще происходит :)
thomasrutter
ОК, будем ждать кого-то прояснить вопрос :). Можете ли вы уточнить это Your MaxRequestsPerChild seems very low - this can be in the thousands. If you are running mod_php your MaxClients should be lowered significantly, unless you have many gigs of RAM.?
Максим Корецкий
Значение по умолчанию MaxRequestsPerChild равно 10000, что означает, что процесс будет перезапущен только один раз каждые 10 000 запросов на процесс. Снижение этого значения до 100, похоже, только ухудшит производительность, если вы не столкнетесь с какой-то конкретной проблемой, такой как серьезная утечка памяти. А для MaxClients, с mod_php, вам может потребоваться уменьшить это значение по умолчанию, потому что каждый процесс очень большой - если у вас не много гигабайт оперативной памяти.
Томасруттер