Nginx como proxy reverso na frente do Apache

3

Configuração atual CentOS 6 VPS simples com memória 6G executando o apache 2.2, mariadb & PHP via FastCGI. Servidor tem principalmente sites wordpress, mas também tem alguns outros sites baseados em PHP. No momento, não estamos usando HTTPS para nenhum site, mas planejamos adicioná-lo para autenticação em sites baseados em PHP.

  1. Existem vantagens em adicionar o Nginx como proxy reverso (com ou sem armazenamento em cache) para conteúdo estático na frente do apache + FastCGI no mesmo servidor físico? O Apache não tem o mod_php carregado, então ele já está servindo a static bem rápido.
    1a. Quais são as possíveis vantagens de manter o apache no meio e manter a relação apache-php com o FastCGI. > 1b. Se mudarmos o Apache-FastCGI para o Apache-mod_php, haverá algum benefício? Como a única tarefa do apache agora é servir conteúdo dinâmico, o mod_php melhorará o desempenho? Como no caso do Apache-FstCGI, o apache precisa solicitar um processo separado (FastCGI) para analisar o php e, no mod_php, o processo do apache pode analisar o php diretamente.
    1c. Qual servidor deve manipular o Coisas SSL?
  2. Se o apache for removido do meio e o Nginx usar diretamente o php-fpm para conteúdo dinâmico, haverá alguma vantagem?
  3. Estamos pensando em obter o plano gratuito do CloudFlare para adicionar CDN, então faz algum sentido adicionar o nginx se houver o CloudFlare na frente?
por firex 25.01.2016 / 12:26

1 resposta

2

1) Sim, principalmente quando o apache lida com clientes HTTP lentos: o apache é projetado de uma forma quando seu filho bloqueia até que ele atenda um cliente, portanto, é incapaz de servir aos outros. Portanto, se você tiver muitos clientes, as crianças do apache empilharão, consumindo memória / CPU e provavelmente atingindo o limite de crianças, tornando essa situação DoS.

1a) não vejo nenhum.

1b) Sim, o módulo php é muito mais rápido por design. Mas essa velocidade só é visível em matemática, não em operações de arquivos. Então eu recomendo se livrar do apache e usar nginx + FastCGI.

1c) Não importa muito, no entanto, suponho que este seja o primeiro servidor em cadeia, já que é mais prático.

2) Sim. Velocidade (com qualquer tipo de cliente), operações de arquivos estáticos, armazenamento em cache, menor consumo de memória. Aposto que você verá a diferença sem nenhuma ferramenta de benchmarking.

3) Eu diria que não vejo necessidade de usar o CloudFlare CDN. Se você realmente precisasse disso - você já se livraria do apache. Já que você não fez isso, significa que a carga está baixa em seus servidores da web. Mas se você insistir em responder a pergunta - eu duvido. Eu duvido que exista realmente a necessidade de fazer algo se você está feliz com as coisas que estão agora. Eu digo isso sem qualquer sarcasmo.

    
por 25.01.2016 / 12:39