2012-02-08 63 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