2012-12-04 95 views
6

我有一臺帶nginx和ruby 1.9.3p125 (2012-02-16 revision 34643)的生產服務器。如何在生產服務器內升級rvm和ruby版本

我看了http://www.ruby-lang.org/en/news/2012/11/09/ruby-1-9-3-p327-is-released/,我想升級到ruby-1-9-3-p327來修復安全漏洞。

我在哪裏可以找到手冊或教程來升級紅寶石版本和我的rvm版本?

謝謝

+2

我已經做了幾次。有一件事要注意,尤其是。當使用nginx + Passenger Phusion時,如果您升級Ruby或乘客寶石,那麼您將不得不重新編譯nginx + passenger。 –

回答

5

首先升級RVM:

rvm get stable 

再升級安裝了Ruby:

rvm upgrade ruby-1.9.3-p125 ruby-1.9.3-p327 

https://rvm.io/rubies/upgrading/

+0

這會保留ruby可執行文件路徑,gem executable,bundle等嗎?我有完全相同的問題,但我確實有一堆部署腳本和具有Ruby基本路徑硬編碼的東西。 –

+0

是的,它會遷移gemsets,包裝器,別名和環境文件。 – NARKOZ

+0

OP詢問生產服務器 - 這是一個有效的方法嗎?在正在運行的應用程序下執行就地升級似乎有點可怕。 –

1

如果您的應用程序不能受到任何的停機時間,這是明智的在本地複製您的生產環境,pe像NARKOZ指出的那樣通過rvm進行升級,然後運行測試以確保一切仍然按預期工作。

你可以使用類似VirtualBox的東西來保持克隆獨立於你的開發環境。

一旦你確信一切正常,然後再進行升級。我甚至建議在繼續之前對服務器進行快照備份。

祝你好運。