Há alguma desvantagem em usar o Nginx como o único servidor web para um site dinâmico (PHP, MongoDB)?

2

Estou trabalhando em um novo projeto que será hospedado com o Amazon EC2. A velocidade dos pedidos é de extrema importância, e o baixo consumo de memória do Nginx é muito atraente. Eu sempre usei o Apache, mas se vantagens significativas podem ser obtidas com o Nginx, então eu gostaria de mudar para isso.

Eu vejo que muitas pessoas usam o Apache + Nginx, mas existem algumas desvantagens, a partir de 2011, em usar o Nginx com o PHP-FPM para servir conteúdo estático e dinâmico? Eu sei que o .htaccess não é mais uma opção do Nginx, mas eu também entendo que existem maneiras de contornar isso.

Basicamente, você obterá o melhor desempenho do Apache + Nginx ou apenas do Nginx?

    
por James Simpson 31.05.2011 / 08:38

1 resposta

1

O desempenho será muito semelhante. Em um cenário você usa FastCGI como a camada de comunicação entre Nginx e PHP e no outro cenário você usa o Apache + HTTP como a camada de comunicação. Em última análise, a diferença entre FastCGI e HTTP provavelmente não fará diferença quando você tiver a sobrecarga do PHP. O Apache usará alguma memória extra, mas como ela mantém o PHP dentro de seu próprio processo, a diferença de velocidade é pequena.

Em última análise, você deve desconsiderar o acima, a menos que você realmente deva realmente ter o máximo desempenho de um servidor, pois está preso em um local com energia suficiente apenas para um servidor, impossibilitando a escalabilidade.

O aspecto importante aqui é com o que você está confortável e os recursos que você precisa. Se você está confortável com o .htaccess, então descubra se está se livrando do uso da memória do Apache, o desempenho do .htaccess e os recursos adicionais do PHP-FPM valem o investimento que é para reaprender coisas.

No caso de não ser óbvio, sou fã de usar o Nginx + PHP-FPM, principalmente por causa de recursos interessantes, como o slow-log, que fornece uma maneira extra de garantir que tudo esteja funcionando como deveria. Mas isso requer reaprendizagem, não há como evitar que o .htaccess esteja disponível, você não pode converter magicamente seu arquivo .htaccess para o formato nginx, pois a configuração do nginx é significativamente diferente.

Se você decidir ir com o Nginx, faça um favor e leia a documentação. Especificamente meu primer nginx escrito como uma introdução, o documentação oficial em inglês do autor nginx Igor, bem como as diretivas wiki em localização e try_files .

    
por 31.05.2011 / 13:48