ni la configuración de prefork ni la de los trabajadores se encuentran en /etc/apache2/apache2.conf, ¿por qué?

10

Acabo de instalar Apache 2.4.7 (Ubuntu) en mi sistema Ubuntu 14.04 LTS y no puedo ver ni la configuración de prefork ni la de trabajador en /etc/apache2/apache2.conf. Tampoco están definidos para el host virtual predeterminado. ¿Debería configurarlos yo mismo en apache2.conf así?

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

Respuestas:

10

Ubuntu 14 organiza todas las configuraciones específicas del módulo en archivos separados debajo /etc/apache2/mods-available/, por lo que el material de prefork de MPM ahora se encuentra en/etc/apache2/mods-available/mpm_prefork.conf

Dibujó
fuente
4

¿Has buscado estas configuraciones dentro /etc/apache2/conf.d/? Es probable que esta configuración se mantenga en archivos incluidos por separado para ayudar con el empaquetado.

¿Debería configurarlos yo mismo en apache2.conf así?

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

Sí, puede colocarlos en apache2.conf (aunque sí búsquelos en otros archivos conf.d/como se mencionó anteriormente).

Su MaxRequestsPerChild parece muy bajo, esto puede ser de miles.

Si está ejecutando mod_php, sus MaxClients deberían reducirse significativamente, a menos que tenga muchos gigas de RAM.

thomasrutter
fuente
Gracias por tu respuesta. Mi instalación de Apache no tiene conf.den el /etc/apache2/. ¿Cómo es eso posible?
Maxim Koretskyi
Lo siento, eso es lo que obtengo por escribir esta respuesta sin probar el 14.04. Solo tengo 12.04. O han cambiado los ajustes para apache o algo más está sucediendo :)
thomasrutter
OK, esperaremos a que alguien aclare el asunto :). ¿Puedes por favor elaborar sobre esto 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
El valor predeterminado de MaxRequestsPerChild es 10000, lo que significa que un proceso solo se reiniciará una vez cada 10,000 solicitudes por proceso. Bajar esto a 100 parece que solo dañaría el rendimiento a menos que esté experimentando un problema específico, como una pérdida de memoria defectuosa. Y para MaxClients, con mod_php puede que necesite reducir esto de su valor predeterminado porque cada proceso es muy grande, a menos que tenga muchos Gigabytes de RAM.
thomasrutter