2012-12-04 77 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的东西来保持克隆独立于你的开发环境。

一旦你确信一切正常,然后再进行升级。我甚至建议在继续之前对服务器进行快照备份。

祝你好运。