【问题标题】:How to upgrade a production server's Ruby version?如何升级生产服务器的 Ruby 版本?
【发布时间】:2012-02-08 23:16:24
【问题描述】:

我们在开发和生产中使用 Ruby 1.8.7 以及各种版本的 rails。我们想升级到 Ruby 1.9.2。在不关闭使用 ruby​​ 1.8.7 的现有网站的情况下,在生产中升级到 ruby​​ 1.9.2 的过程是什么?我们正在使用 apache + 乘客,但没有 RVM?

【问题讨论】:

    标签: ruby apache passenger


    【解决方案1】:

    您可以仅将 apache 用作代理,并为每个项目运行单独的 Web 服务器(如乘客独立或独角兽)。您可以在部署期间启动服务器并将虚拟主机重定向到各个端口。如果您设法为每个项目设置环境以指向它自己的 ruby​​ 版本,您甚至不需要 rvm。

    【讨论】:

    • 很遗憾这是唯一的方法,但我将你的标记为答案。
    【解决方案2】:

    如果您需要同时运行两个版本,那您一定会很开心,因为大部分解决方案(例如乘客)一次只能运行一个版本的 ruby​​。我自己通过使用 rvm 安装多个版本来解决这个问题,让 apache/passenger 运行一个版本,让 nginx/passenger 运行另一个版本。然后我设置需要 nginx/passenger 版本的站点通过 apache 代理传递给它。

    【讨论】:

    • 我实际上只是想完全升级 ruby​​,但要安全,而不是运行两个版本。
    • 出于测试目的,我建议在虚拟机中设置一个测试服务器,以确保所有应用程序都能正确升级...然后您可以仍然使用 RVM进行升级,因为这将使系统 ruby​​ 单独存在,并且系统更新不会影响您的其余应用程序。 RVM 和Passenger 都有很多关于如何安装的文档。
    猜你喜欢
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 2015-09-25
    • 2018-01-10
    • 2016-10-05
    • 1970-01-01
    相关资源
    最近更新 更多