2012-02-08 64 views
1

我們使用Ruby 1.8.7開發和生產各種版本的導軌。我們想升級到Ruby 1.9.2。在生產環境中升級到Ruby 1.9.2的過程是什麼,而不使用使用紅寶石1.8.7的現有網站?我們正在使用apache +乘客,但沒有RVM?如何升級生產服務器的Ruby版本?

回答

0

您可以使用apache作爲代理,併爲每個項目運行單獨的Web服務器(如客運獨立或獨角獸)。您可以在部署期間啓動服務器,並將虛擬主機重定向到各個端口。如果您設法爲每個項目設置環境以指向它自己的ruby版本,那麼您甚至不需要rvm。

+0

傷心,這是唯一的方法,但我標記你的答案。 – fregas 2012-02-27 23:38:06

0

如果您需要同時運行兩個版本,那麼您需要一些樂趣,因爲像乘客這樣的大多數解決方案一次只能運行一個版本的ruby。我通過使用rvm來安裝多個版本來解決這個問題,並讓apache/passenger運行一個版本,而nginx/passenger運行另一個版本。然後,我設置了需要nginx/passenger版本的站點,通過apache向proxypass傳遞它。

+0

我其實只是想完全升級紅寶石,但安全,不運行兩個版本。 – fregas 2012-02-09 15:33:55

+0

出於測試目的,我建議在虛擬機中設置一個測試服務器,以確保所有應用程序都能正確升級......然後您可以*仍然*使用RVM進行升級,因爲這樣會導致系統獨立運行,系統更新不會影響其他應用程序。 RVM和Passenger都有關於如何安裝的大量文檔。 – DGM 2012-02-09 18:03:05