Estou pensando na arquitetura de um novo servidor da Web. Ter o Varnish como cache na frente do Nginx como proxy reverso e servir arquivos estáticos na frente do apache para todo trabalho pesado seria uma boa idéia?
Vou executar aplicativos php e ruby on rails.
Haverá muita sobrecarga na solicitação de php para apache através de outros dois processos?
Muito obrigado!
apache-2.2
nginx
architecture
varnish
Zoran Zaric
fonte
fonte
O verniz ainda não suporta a compressão gzip, portanto, pode ser uma ideia trocá-lo com o nginx na frente para comprimir o que o verniz envia de volta. Como o verniz e o nginx não lutam pelos mesmos recursos (o nginx usa CPU para compactação gzip, enquanto o verniz usa memória), eles devem funcionar sem problemas na mesma máquina.O verniz agora oferece suporte à compactação gzip , portanto, a menos que você precise da terminação SSL (como sugerido nos comentários), sugiro colocar o verniz diretamente em contato com a Internet.
Para http:
Para https:
Se você quiser apache também (para o onipresente suporte mod_foobar), eu o colocaria entre o verniz e o aplicativo
Atualização: atualizada para incluir o suporte ao gzip no verniz 3.0. Adicionado ssl / esi conforme sugerido nos comentários
fonte
A quantidade de sobrecarga não deve ser significativa. Estou assumindo que parte do motivo pelo qual você deseja ter essas duas camadas é a escalabilidade; Nesse caso, você provavelmente veria, em relação ao apache, que o verniz e o nginx não estão trabalhando muito.
Se todas as três camadas em uma máquina, haverá menos impacto no desempenho antes de atingir a capacidade do próprio servidor.
Como alternativa, por que não envernizar + nginx com o passageiro? Eu usei essa configuração no passado e o nginx usando o passageiro é relativamente leve e funcionou muito bem. Pode valer a pena pensar se você não é casado com apache executando sua pilha de trilhos.
fonte
Eu sou o administrador do sistema para uma plataforma de comércio eletrônico de inicialização. Usamos o verniz + nginx na frente da nossa pilha PHP / apache e isso fez maravilhas.
Temos um aplicativo de alto uso de memória e o aplicativo estava usando cerca de 15-20gigs de RAM por nó da web e, quando colocamos o verniz na frente, agora fica em torno de 8gig de RAM por nó. Eles nunca cravaram.
Então eu recomendo.
fonte
Estou executando o Drupal, com módulo boost em um servidor Apache + PHP + MySQL, mas na frente deles eu estou usando o Nginx com o recurso gzip-static e usando os resultados do boost para atender os usuários.
Além disso, estou usando verniz, tudo no mesmo PC, e estou tendo bons resultados.
Também estou usando o Nginx para ajustar os cabeçalhos que o Drupal não faz muito bem para o cache.
fonte
Não é uma boa ideia, a menos que você precise de algo como ESI. O Nginx possui seu próprio sistema de cache com melhor desempenho .
fonte
O Apache pode ser usado para finalizar o SSL (descriptografar), consulte http://noosfero.org/Development/Varnish#SSL
fonte