nem as configurações de pré-fork nem de trabalho são encontradas em /etc/apache2/apache2.conf - por quê?

10

Acabei de instalar o Apache 2.4.7 (Ubuntu) no meu sistema Ubuntu 14.04 LTS e não consigo ver nem as configurações de pré-fork nem de trabalho no /etc/apache2/apache2.conf. Eles também não estão definidos para o host virtual padrão. Devo defini-los no apache2.conf assim?

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

Respostas:

10

O Ubuntu 14 organiza todas as configurações específicas do módulo em arquivos separados /etc/apache2/mods-available/, de modo que o material do MPM prefork agora está localizado em/etc/apache2/mods-available/mpm_prefork.conf

Desenhou
fonte
4

Você já procurou essas configurações /etc/apache2/conf.d/? É provável que essas configurações sejam mantidas em arquivos incluídos separados para ajudar no empacotamento.

Devo defini-los no apache2.conf assim?

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

Sim, você pode colocá-los no apache2.conf (apesar de procurá-los em outros arquivos, conf.d/como mencionado acima).

Seu MaxRequestsPerChild parece muito baixo - isso pode estar na casa dos milhares.

Se você estiver executando o mod_php, seu MaxClients deverá ser reduzido significativamente, a menos que você tenha muitos shows de RAM.

thomasrutter
fonte
Obrigado pela sua resposta. Minha instalação do Apache não tem conf.dno /etc/apache2/. Como isso é possível?
Maxim Koretskyi
Desculpe, é isso que recebo por escrever esta resposta sem testar na 14.04. Eu só tenho 12.04. Ou eles mudaram os diretórios conf para o Apache ou qualquer outra coisa está acontecendo :)
thomasrutter
OK, vamos esperar alguém esclarecer o assunto :). Você pode elaborar sobre isso 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.?
precisa saber é o seguinte
O MaxRequestsPerChild padrão é 10000, o que significa que um processo será reiniciado apenas uma vez a cada 10.000 solicitações por processo. A queda para 100 parece prejudicar o desempenho, a menos que você esteja enfrentando um problema específico, como um vazamento de memória ruim. E para o MaxClients, com o mod_php, você pode precisar diminuir esse padrão, pois cada processo é muito grande - a menos que você tenha muitos Gigabytes de RAM.
thomasrutter