O que é mais rápido no fornecimento de páginas PHP, Apache ou NGINX

15

Eu li bastante sobre os principais benefícios de executar o NGINX no Apache para fornecer arquivos estáticos . No entanto, nunca vi um artigo falando sobre Apache vs NGINX para servir páginas em PHP.

Pergunta: o que é mais rápido no atendimento de páginas PHP , Apache ou NGINX?

Raedwald
fonte

Respostas:

9

Pessoalmente, acho que o nginx fornece a divisão correta entre as coisas que ele faz (receber e processar solicitações HTTP) e o que delega para outros processos (geração dinâmica de páginas). Embora seja menos esforço configurar o Apache para atender às solicitações de PHP, a execução de tudo no Apache é um problema de segurança e configuração (todos os arquivos acessados ​​por todos os scripts executados por todos os usuários no servidor devem ser legíveis / graváveis ​​pelo usuário que o Apache é executado, o que significa que os scripts PHP de um usuário podem examinar os dados de outros usuários); executar cada site PHP como seu próprio usuário em seu próprio contexto FastCGI é uma opção muito melhor (ao custo de uma configuração um pouco mais adiantada até que você tenha a automação de criação de site discada para fazer a coisa certa).

Quanto mais "rápido", o Apache com mod_php provavelmente será mais rápido em uma única solicitação, desde que a máquina não tenha recursos limitados (passar para um ouvinte externo do FCGI e depois voltar não é tão rápido). No entanto, o Apache é muito mais gordo ( especialmente quando executado com mod_php), então você poderá servir mais tráfego com o nginx antes de precisar atualizar para uma caixa maior.

mulher
fonte
5

O autor do nginx diz que o nginx tem como objetivo servir arquivos estáticos e ser front-end, encaminhando solicitações que requerem páginas dinâmicas para outros servidores como o apache.

Outra boa idéia é armazenar em cache a solicitação dinâmica do apache com nginx se os dados raramente forem atualizados, por exemplo, uma postagem de blog arquivada.

flashnik
fonte
2

Na maioria dos casos, nginx. Para projetos de alta carga, nginx + php + php-fpm é uma excelente escolha.

Valery Viktorovsky
fonte