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

  1. O cliente abre uma conexão na porta configurada.
  2. Um worker disponível recebe o pedido.
  3. O Apache decide qual arquivo ou módulo trata a resposta.
  4. 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.