Nginx vs Apache: Qual Serve Melhor Para Você?

Por duas décadas, o Apache dominou o mercado de servidores web, que está encolhendo a cada dia. Não só o Nginx alcançou o mais antigo da turma, mas atualmente é o favorito de muitos sites de alto tráfego. Os usuários do Apache podem discordar aqui. É por isso que não se deve tirar conclusões precipitadas sobre qual servidor web é melhor. A verdade é que ambos formam o núcleo de pilhas web completas, e a escolha final se resume às necessidades individuais.
Por exemplo, pessoas que administram sites Drupal costumam recorrer ao Apache, enquanto usuários do WordPress parecem favorecer o Nginx tanto quanto, se não mais. Assim, nosso objetivo é ajudar você a entender melhor suas próprias necessidades, em vez de fornecer uma recomendação única. Dito isso, a comparação a seguir entre os dois oferece uma imagem precisa.
Leia também: 12 Melhores Softwares de Código Aberto para Experimentar em 2021
1. Popularidade
Até 2012, mais de 65% dos sites eram baseados no Apache, uma popularidade que se deve em grande parte ao seu legado histórico. Foi um dos primeiros softwares que pioneirou o crescimento da World Wide Web. No entanto, os tempos mudaram. De acordo com o W3Tech.com, em 14 de janeiro de 2019, o Apache (44,4%) está apenas ligeiramente à frente do Nginx (40,9%) em termos de sites que usam seus servidores. Juntos, eles dominam quase 85% do mercado de servidores web.

Quando se trata de sites com alto tráfego, o gráfico a seguir é interessante. Claro, o Nginx está bem à frente do Apache, mas fica atrás dos Servidores Google, que alimentam sites como YouTube, Gmail e Drive.

Em algum momento, um grande número de sites (incluindo este site) migrou do Apache para o Nginx. Claramente, o último é visto como o mais recente e um servidor web mais moderno. Sites de alto tráfego que estão no Apache, como Wikipedia e New York Times, costumam usar um proxy HTTP de front-end como o Varnish.
Pontuação: A diferença de popularidade entre Apache e Nginx está diminuindo muito rapidamente. Mas, como o Apache ainda está à frente em números absolutos, consideraremos esta rodada um empate.
2. Velocidade
A principal característica de um bom servidor web é que ele deve funcionar rapidamente e responder facilmente a conexões e tráfego de qualquer lugar. Para medir as velocidades do servidor, comparamos dois sites de viagem populares baseados em Apache (Expedia.com) e Nginx (Booking.com). Usando uma ferramenta online chamada Bitcatcha, as comparações foram feitas para vários servidores e medidas em relação ao benchmark do Google de 200 ms. O Booking.com, baseado em Nginx, foi classificado como “excepcionalmente rápido”. Em contraste, o Expedia.com, baseado em Apache, foi classificado como “acima da média e poderia ser melhorado.”
Tendo usado ambos os sites de viagem tantas vezes, posso pessoalmente garantir que o Expedia parece um pouco mais lento em retornar resultados para minha consulta do que o Booking.

Aqui estão comparações entre os dois servidores para alguns outros sites. O Nginx parece mais rápido em todos os casos abaixo, exceto um.

Pontuação: O Nginx vence a rodada de velocidade.
Leia também: Como Configurar o Certificado SSL Gratuito “Let’s Encrypt” no Nginx (Ubuntu)
3. Segurança
Tanto o Nginx quanto o Apache levam a segurança muito a sério em seus sites. Não há escassez de sistemas robustos para lidar com ataques DDoS, malware e phishing. Ambos liberam periodicamente relatórios e avisos de segurança que garantem que a segurança seja fortalecida em todos os níveis.
Pontuação: Consideraremos esta rodada um empate.
4. Concurrência
Há uma percepção de que o Apache de alguma forma não se iguala à escala e capacidade do Nginx. Afinal, o Nginx foi originalmente projetado para acelerar problemas de velocidade com manipuladores FastCGI e SCGI. No entanto, a partir do Apache 2.4 (que é a versão padrão), houve uma melhoria drástica no número de conexões simultâneas. Vale a pena descobrir até onde essa melhoria foi feita.
Com base em testes de estresse no Loadimpact.com, comparamos novamente o Booking.com (Nginx) com o Expedia.com (Apache). Para 25 usuários virtuais, o site Nginx conseguiu registrar 200 solicitações por segundo, o que é 2,5 vezes mais do que as 80 solicitações por segundo do Apache. Claramente, se você tem um site de alto tráfego dedicado, o Nginx é uma aposta mais segura.

Pontuação: O Nginx vence a rodada de concorrência.
5. Flexibilidade
Um servidor web deve ser flexível o suficiente para permitir personalizações. O Apache faz isso muito bem usando ferramentas .htaccess, que o Nginx não suporta. Ele permite a descentralização das funções de administrador. Administradores de terceiros e de segundo nível podem ser impedidos de acessar o servidor principal. Além disso, o Apache suporta mais de 60 módulos, o que o torna altamente extensível. Há uma razão pela qual o Apache é mais popular entre os provedores de hospedagem compartilhada.

Pontuação: O Apache vence esta rodada.
Outros Parâmetros
No passado, o Nginx não suportava bem o sistema operacional Windows, ao contrário do Apache. Isso não é mais o caso. Além disso, o Apache era considerado fraco para balanceamento de carga e proxy reverso, o que mudou agora.
Resultado Final
O Nginx vence este concurso por 2-1. Dito isso, uma comparação objetiva entre Nginx e Apache em parâmetros técnicos não dá a imagem completa. No final, nosso veredicto é que ambos os servidores web são úteis à sua maneira.
Enquanto o Apache deve ser usado com um servidor de front-end (o próprio Nginx é uma opção), o Nginx pode ser melhor com mais personalizações e flexibilidade.