Configurando o nginx como proxy reverso

1

Estou usando o Passenger com nginx para servir meu aplicativo rails em um host Slice virtual. Estou pensando em colocar um proxy reverso para servir conteúdo estático, bem como lidar com ações padronizadas.

  1. Posso usar minha instalação nginx existente e alterá-la para um proxy reverso? Eu preciso mesmo de um servidor web? O que seria um típico arquitetura parece como neste caso?

    nginx rev-proxy -> nginx web server -> passenger?
    

    ou

    nginx rev-proxy ->  passenger?
    
  2. O nginx é a melhor escolha neste caso?

  3. Meu proxy reverso pode residir no mesmo Slice?

Obrigado

    
por user55714 12.10.2010 / 04:50

1 resposta

1

  1. Sim, você pode usar sua instalação do nginx. Você não precisa de nenhum proxy, apenas continue usando o passageiro com nginx e tenha o conteúdo estático do servidor nginx direto

  2. A opinião popular é provavelmente, se você tivesse o Apache ou o Squid em execução, você pode considerar usá-los, mas como você já tem o nginx, o nginx é uma ótima escolha. Evitar usar o passageiro para fornecer arquivos estáticos pode oferecer ganhos significativos de desempenho, mas é claro que a milhagem varia.

  3. O mesmo servidor / fatia provavelmente está bem, se o seu tráfego foi tão grande que causou impacto, mova-o para outro servidor, mas não há razão para procurá-lo, apenas mude as URLs de acordo - isso é o que serverfault faz.

Um exemplo de arquivo de configuração seria:

server {
listen www.example.com:80;

server_name  www.example.com;

    location ~* ^.+\.(jpg|jpeg|gif|png|css|bmp|js|ico|swf)$ {
       root  /home/static/files;
       expires 7d;
    }

    location / {
       root /home/rails_app;
       passenger_enabled on;
    }     

}

Obviamente, adicione todos os tipos de arquivos adicionais, conforme necessário.

    
por 12.10.2010 / 12:32