O que falta o Nginx que o Apache possui?

11

O Nginx é considerado muito mais eficiente em recursos e mais fácil de configurar do que o Apache. Um amigo me disse que "não é possível fazer algumas coisas que o Apache pode fazer, mas eu não preciso dessas coisas de qualquer maneira".

Ainda assim, estou curioso: que tipos de coisas o Apache pode fazer que o Nginx não pode? Eu não preciso de uma lista exaustiva, apenas uma idéia geral dos cenários em que o Apache seria um melhor escolha.

    
por Nathan Long 12.04.2011 / 23:05

4 respostas

9

Eu acho que as maiores peças que ainda faltam no Nginx são o suporte total a WebDAV. Praticamente todos os outros aspectos são cobertos pelo núcleo ou por um módulo de terceiros.

O Nginx não suporta coisas como mod_php por design, então não tenho certeza se você pode dizer que o Nginx está faltando essas partes. É mais parecido com o fato de o Nginx estar lhe dizendo com bastante força que usar isso é estúpido.

    
por 13.04.2011 / 00:14
4

O Apache tem uma grande quantidade de módulos disponíveis que permitem alguns cenários de implantação que não são possíveis com o Nginx.

Um exemplo é mod_dav_svn para hospedar o Subversion via HTTP. É apenas disponível para o Apache. Outros exemplos notáveis são coisas como mod_perl ou mod_php . Embora a maioria das configurações tradicionais também possa ser feita via FCGI (ou WSGI, ou passageiro), ter um intérprete real em andamento pode ser benéfico se você precisar, por exemplo. implementar esquemas de autenticação personalizados dentro do servidor web (como é feito para git ou svn hosting com Redmine / ChiliProject).

Geralmente, seu amigo está certo: os cenários de implantação mais comuns também podem ser resolvidos com o nginx, mas o Apache ainda é mais flexível se você tiver que criar mais coisas "especiais".

    
por 12.04.2011 / 23:12
3

A versão curta da história é que o Apache tem muito de plugins e comunidades construídas em torno dele. Nginx, tem sido apenas por um curto período de tempo comparativamente, e por isso não tem a base de código da comunidade ainda.

Quando as pessoas me perguntam qual é a diferença, o Nginx é um bife, é bom para uma variedade de usos e faz algumas coisas extremamente bem. O Apache é um canivete suíço, tem vários recursos diferentes e faz todos eles razoavelmente bem.

    
por 12.04.2011 / 23:12
1

Muitos módulos e uma base instalada, para começar. Mas não é exatamente o que o Apache tem que você deveria estar olhando, é o que o Apache faz : funciona melhor para servir conteúdo dinâmico como PHP, Python, Perl, Java, etc

Claro que você pode fazer isso com o Nginx também (mas é um pouco IMHO), mas as soluções são mais comprovadas e maduras em execução no Apache do que no NginX, que por sua vez é muito melhor do que o Apache em servir cargas altas e um excelente reescritor / proxy reverso.

Para cada trabalho, a ferramenta certa!

    
por 13.04.2011 / 01:25