ni préfork ni paramètres de travail ne se trouvent dans /etc/apache2/apache2.conf - pourquoi?

10

Je viens d'installer Apache 2.4.7 (Ubuntu) sur mon système Ubuntu 14.04 LTS et je ne vois ni paramètres de préfork ni de travailleur dans /etc/apache2/apache2.conf. Ils ne sont pas non plus définis pour l'hôte virtuel par défaut. Dois-je les définir moi-même dans 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
la source

Réponses:

10

Ubuntu 14 organise toutes les configurations spécifiques au module dans des fichiers séparés sous /etc/apache2/mods-available/, donc les éléments de préfork MPM sont maintenant situés dans/etc/apache2/mods-available/mpm_prefork.conf

A dessiné
la source
4

Avez-vous recherché ces paramètres dans /etc/apache2/conf.d/? Il est probable que ces paramètres soient conservés dans des fichiers inclus séparés pour faciliter l'emballage.

Dois-je les définir moi-même dans 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>

Oui, vous pouvez les placer dans apache2.conf (mais recherchez-les dans d'autres fichiers conf.d/comme mentionné ci-dessus).

Votre MaxRequestsPerChild semble très faible - cela peut être par milliers.

Si vous exécutez mod_php, vos MaxClients devraient être considérablement réduits, à moins que vous n'ayez beaucoup de Go de RAM.

thomasrutter
la source
Merci pour votre réponse. Mon installation d'Apache n'a pas conf.dau /etc/apache2/. Comment est-ce possible?
Maxim Koretskyi
Désolé, c'est ce que j'obtiens en écrivant cette réponse sans tester le 14.04. Je n'ai que 12.04. Soit ils ont changé les confs pour apache ou quelque chose d'autre se passe :)
thomasrutter
OK, nous attendrons que quelqu'un clarifie la question :). Pouvez-vous nous en dire plus 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
La valeur par défaut MaxRequestsPerChild est 10000, ce qui signifie qu'un processus ne sera redémarré qu'une fois toutes les 10 000 demandes par processus. La réduction de ce nombre à 100 semble nuire aux performances, sauf si vous rencontrez un problème spécifique tel qu'une mauvaise fuite de mémoire. Et pour MaxClients, avec mod_php, vous devrez peut-être réduire ce paramètre par rapport à sa valeur par défaut, car chaque processus est si important - à moins que vous n'ayez beaucoup de gigaoctets de RAM.
thomasrutter