Prática recomendada: RVM com vários servidores independentes Nginx-Passsenger executando um aplicativo por servidor

1

Eu estou querendo saber qual seria a melhor abordagem para hospedar vários aplicativos Rails, onde cada aplicativo tem um gemset diferente e possivelmente pode usar uma versão diferente do Ruby. Estou pensando em rodar o RVM para gerenciar os diferentes gemsets de cada aplicativo e fazer com que cada aplicativo seja executado em sua própria instância independente de passageiro.

Minha única preocupação com essa abordagem é a memória ocupada por vários servidores independentes de passageiros sendo executados em vez de apenas um servir todos eles. De qualquer forma, sou muito novo neste assunto, por isso estou aberto a sugestões sobre qual seria a melhor prática para este tipo de configuração.

Eu também li esta postagem no blog e fiquei me perguntando o que as pessoas pense nisso. Parece uma configuração razoável e fala ao meu TOC sobre manter as coisas limpas e separadas entre os aplicativos.

    
por John 12.03.2012 / 07:13

2 respostas

1

É muito fácil, já que o Passenger 3.2 suportará diferentes versões de ruby prontas para uso. A única coisa é que 3,2 ainda não foi lançado. Apenas certifique-se de definir o passenger_ruby adequado e o RVM / Capistrano pode fazer o resto.

Leia mais neste artigo: link

Note que eu faço executar 3.2 no link : -)

    
por 14.05.2012 / 12:08
0

Sou autor do artigo mencionado.

Usar instâncias separadas de passageiros autônomos ou unicórnios é uma boa ideia, eles têm pouca sobrecarga de memória e permitem uma boa separação.

No melhor dos casos, você executaria cada aplicativo como um usuário separado, o que impedirá o acesso a outros dados de aplicativos.

Se bem me lembro, uma instância de nginx (usada para passageiros independentes) usa cerca de 3MB de RAM - é muito baixa na minha opinião.

Existe uma nova opção - passageiro 3.2, está na versão beta, mas deve permitir a execução de diferentes rubis de um servidor.

    
por 05.05.2012 / 22:15