In /etc/apache2/apache2.conf finden sich weder Prefork- noch Worker-Einstellungen - warum?

10

Ich habe gerade Apache 2.4.7 (Ubuntu) auf meinem Ubuntu 14.04 LTS-System installiert und kann weder Prefork- noch Worker-Einstellungen in der Datei /etc/apache2/apache2.conf sehen. Sie sind auch nicht für den virtuellen Standardhost definiert. Soll ich sie selbst so in apache2.conf einstellen?

<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
quelle

Antworten:

10

Ubuntu 14 organisiert alle modulspezifischen Konfigurationen in separaten Dateien unter /etc/apache2/mods-available/, sodass sich das MPM-Prefork-Material jetzt in befindet/etc/apache2/mods-available/mpm_prefork.conf

Drew
quelle
4

Haben Sie nach diesen Einstellungen gesucht /etc/apache2/conf.d/? Es ist wahrscheinlich, dass diese Einstellungen in separaten enthaltenen Dateien gespeichert werden, um das Verpacken zu erleichtern.

Soll ich sie selbst so in apache2.conf einstellen?

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

Ja, Sie können sie in apache2.conf ablegen (suchen Sie sie jedoch conf.d/wie oben erwähnt in anderen Dateien ).

Ihr MaxRequestsPerChild scheint sehr niedrig zu sein - dies kann zu Tausenden sein.

Wenn Sie mod_php ausführen, sollten Ihre MaxClients erheblich gesenkt werden, es sei denn, Sie haben viele GB RAM.

thomasrutter
quelle
Danke für deine Antwort. Meine Installation von Apache muss nicht conf.dauf dem /etc/apache2/. Wie ist das möglich?
Maxim Koretskyi
Entschuldigung, das bekomme ich, wenn ich diese Antwort schreibe, ohne sie am 14.04 zu testen. Ich habe nur 12.04. Entweder haben sie die Conf-Verzeichnisse für Apache geändert oder es ist etwas anderes los :)
Thomasrutter
OK, wir werden auf jemanden warten, der die Angelegenheit klärt :). Können Sie das bitte näher erläutern 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
Der Standardwert für MaxRequestsPerChild ist 10000. Dies bedeutet, dass ein Prozess nur einmal alle 10.000 Anforderungen pro Prozess neu gestartet wird. Das Verringern auf 100 scheint die Leistung nur zu beeinträchtigen, wenn ein bestimmtes Problem wie ein fehlerhafter Speicherverlust auftritt. Und für MaxClients müssen Sie mit mod_php möglicherweise die Standardeinstellung verringern, da jeder Prozess so groß ist - es sei denn, Sie haben viele Gigabyte RAM.
Thomasrutter