w katalogu /etc/apache2/apache2.conf nie znaleziono ustawień preforków ani procesów roboczych - dlaczego?

10

Właśnie zainstalowałem Apache 2.4.7 (Ubuntu) na moim systemie Ubuntu 14.04 LTS i nie widzę ani preforków, ani ustawień roboczych w /etc/apache2/apache2.conf. Nie są również zdefiniowane dla domyślnego wirtualnego hosta. Czy powinienem sam ustawić je w 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>
Maxim Koretskyi
źródło

Odpowiedzi:

10

Ubuntu 14 organizuje wszystkie konfiguracje specyficzne dla modułu w osobnych plikach pod /etc/apache2/mods-available/, więc elementy prefabrykatów MPM znajdują się teraz w/etc/apache2/mods-available/mpm_prefork.conf

Rysował
źródło
4

Czy szukałeś tych ustawień /etc/apache2/conf.d/? Prawdopodobnie ustawienia te są przechowywane w osobnych dołączonych plikach, aby ułatwić pakowanie.

Czy powinienem sam ustawić je w 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>

Tak, możesz umieścić je w apache2.conf (chociaż szukaj ich w innych plikach, conf.d/jak wspomniano powyżej).

Twoje MaxRequestsPerChild wydaje się bardzo niskie - może to być tysiące.

Jeśli korzystasz z mod_php, MaxClients powinien zostać znacznie obniżony, chyba że masz wiele operacji RAM.

thomasrutter
źródło
Dzięki za odpowiedź. Moja instalacja Apache nie ma conf.dna /etc/apache2/. Jak to możliwe?
Maxim Koretskyi
Przepraszam, właśnie to otrzymuję za napisanie tej odpowiedzi bez testowania 14.04. Mam tylko 12.04. Albo zmienili conf conf dla apache, albo coś innego się dzieje :)
thomasrutter
OK, poczekamy, aż ktoś wyjaśni sprawę :). Czy możesz to rozwinąć 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.?
Maxim Koretskyi
Domyślna wartość MaxRequestsPerChild to 10000, co oznacza, że ​​proces będzie restartowany tylko raz na 10 000 żądań na proces. Zrzucenie tego na 100 wydaje się, że zaszkodziłoby to wydajności, chyba że wystąpi konkretny problem, taki jak zły wyciek pamięci. A w przypadku MaxClients w przypadku mod_php może być konieczne obniżenie tej wartości domyślnej, ponieważ każdy proces jest tak duży - chyba że masz wiele gigabajtów pamięci RAM.
thomasrutter