Iniciante Fundamentos
Arquitetura do Apache
O Apache funciona com um processo principal (master) e vários processos ou threads de trabalho (workers). O master lê a configuração e gerencia os workers; os workers atendem as requisições.
Fluxo de uma requisição
- O cliente abre uma conexão na porta configurada.
- Um worker disponível recebe o pedido.
- O Apache decide qual arquivo ou módulo trata a resposta.
- A resposta volta ao cliente e o worker fica livre de novo.
MPM (Multi-Processing Modules)
O MPM define como o Apache cria processos e threads. Há três principais:
- prefork: cada requisição em um processo separado. Estável, usa mais memória. Bom com módulos não thread-safe (ex.: PHP antigo).
- worker: mistura processos e threads. Usa menos memória que o prefork.
- event: parecido com o worker, mas trata conexões em espera (keep-alive) de forma mais eficiente. É o padrão moderno.
Ver o MPM ativo
apache2ctl -V | grep -i mpm
Trocar o MPM (Debian)
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2
Escolha o MPM conforme a aplicação: use prefork quando precisar de módulos sem suporte a threads; prefira event para sites estáticos e alto volume.