Nginx vs Apache para WordPress: diferenças práticas para agências

Apache e Nginx são os dois servidores web mais usados no mundo. Para a maioria das agências WordPress, a escolha é determinada pelo hosting — não há decisão a tomar. Mas entender as diferenças práticas é essencial para diagnosticar problemas, configurar corretamente e escolher infraestrutura quando há escolha.

A diferença fundamental de arquitetura

Apache usa um modelo de processo/thread por conexão. Cada pedido HTTP cria ou usa um processo ou thread dedicado. Funciona bem com tráfego moderado mas o consumo de memória escala com o número de conexões simultâneas.

Nginx usa um modelo event-driven, não-blocking. Um pequeno número de workers pode gerir milhares de conexões simultâneas. É muito mais eficiente em memória para tráfego elevado ou para servir muitos pedidos simultâneos.

Na prática, para um site WordPress com tráfego normal (<10.000 visitas/dia), ambos funcionam bem. A diferença torna-se relevante com alto tráfego concorrente ou em servidores com RAM limitada.

O .htaccess: a diferença mais prática para WordPress

Apache lê o ficheiro .htaccess em cada diretório do site em cada pedido. Isto tem uma vantagem enorme para WordPress: permite configuração por diretório sem acesso à configuração central do servidor. Todo o sistema de permalinks, redirects, cache headers e segurança do WordPress usa o .htaccess.

Nginx não lê .htaccess. Toda a configuração é feita em ficheiros do servidor (/etc/nginx/sites-available/) que requerem acesso root e reload do serviço após cada alteração. Isto significa:

  • Plugins WordPress que criam regras .htaccess (Yoast SEO para sitemap, plugins de cache, Wordfence) precisam de equivalente manual em Nginx
  • Alterações de configuração requerem acesso ao servidor, não apenas ao WordPress
  • Em hosting partilhado cPanel com Nginx, frequentemente usam uma camada de compatibilidade

Configuração Nginx para WordPress: o essencial

Num servidor Nginx, a configuração WordPress requer no mínimo:

server {
    listen 80;
    server_name seusite.pt www.seusite.pt;
    root /var/www/wordpress;
    index index.php;

    # WordPress permalinks
    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # Processar PHP
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # Segurança: bloquear acesso a ficheiros sensíveis
    location ~ /\.(ht|git) {
        deny all;
    }

    location = /xmlrpc.php {
        deny all;
    }
}

Performance: Nginx vs Apache com WordPress

Em benchmarks com WordPress e PHP-FPM, Nginx tipicamente supera Apache em:

  • Servir ficheiros estáticos (imagens, CSS, JS) — Nginx é muito mais eficiente
  • Conexões simultâneas elevadas — o modelo event-driven escala melhor
  • Uso de memória — Nginx usa menos RAM por conexão

Para PHP dinâmico (as páginas WordPress em si), a diferença é mínima quando ambos usam PHP-FPM — o bottleneck é o PHP e a base de dados, não o servidor web.

LiteSpeed: a terceira opção relevante

LiteSpeed Web Server é uma alternativa comercial muito usada em hosting cPanel. É binariamente compatível com Apache (lê .htaccess sem modificações) mas com performance próxima do Nginx. O plugin gratuito LiteSpeed Cache para WordPress aproveita funcionalidades específicas do servidor — é a solução de cache mais eficiente para sites em hosting LiteSpeed.

Se o seu cliente está em hosting cPanel com LiteSpeed (comum em Hostinger, SiteGround, alguns Namecheap), use o plugin LiteSpeed Cache em vez de WP Rocket ou W3 Total Cache.

O que isto significa na prática para agências

Em hosting partilhado cPanel

Provavelmente Apache ou LiteSpeed. O .htaccess funciona normalmente. Plugins de cache e segurança funcionam sem configuração adicional. Sem acesso ao servidor para otimizações avançadas.

Em VPS gerido por si

Escolha entre Apache e Nginx. Para experiência mais simples com WordPress: Apache + mod_php ou Apache + PHP-FPM. Para máxima performance: Nginx + PHP-FPM. Em qualquer caso, o Nginx requer mais configuração manual equivalente ao que o .htaccess faz automaticamente em Apache.

Em managed WordPress hosting

O hosting trata da configuração do servidor (normalmente Nginx otimizado). Não precisa de se preocupar com esta escolha — mas ajuda entender a arquitetura quando diagnostica problemas.

Diagnosticar problemas de servidor web

Para identificar qual servidor está a usar:

curl -I https://seusite.pt | grep Server

Se os logs de erro indicam problemas de configuração de servidor, saber se é Nginx ou Apache determina onde procurar e o que configurar.

Quer garantir que a infraestrutura dos sites dos seus clientes está corretamente configurada?

O nosso serviço de manutenção WordPress inclui auditoria e otimização de infraestrutura.

Falar connosco