Melhor maneira de implantar Ruby 1.9.2 e 1.8.7 com RVM e Passenger no mesmo servidor
-
27-09-2019 - |
Pergunta
Estou pensando em implantar dois projetos Rails.Um com Ruby 1.8.7 e Rails 2.3.8, e outro com Ruby 1.9.2 e Rails 3.0.1.
Estou tentando configurar uma situação em que www.example.com seja Ruby 1.9.2 e shop.example.com seja Ruby 1.8.7.
Qual é a melhor maneira de configurar isso com Passenger e RVM?
Solução
Há uma postagem no blog explicando praticamente o que você deseja do pessoal da fusão aqui: http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/
(Na verdade, são as mesmas informações do link fornecido por Sam - mas acho que este é o original com um layout mais claro)
Basicamente, envolve a execução de uma versão autônoma do passageiro com uma versão do Ruby e o proxy de solicitações para ele do Apache/nginx que está executando a outra versão.
Outras dicas
Em termos da versão rails é bem fácil porque você só precisa freeze
(o que significa armazenar) as versões do Rails que você deseja no vendor/rails
dir.
rake rails:freeze:edge RELEASE=2.3.8
E então você pode simplesmente manter seu padrão em 3.0 ou vice-versa ou congelar ambos.
Em termos de diferentes versões de Ruby, nunca fiz isso.Para mim, é menos doloroso ter um padrão e depois congelar as gemas.Mas aqui está algo que funciona com o que você está fazendo: http://www.sportscomet.com/sports_thread/view/id-26403