我有一个在rails 1.2.5上制作的旧应用程序,这个应用程序每天都有很多访问权限。
我打算升级我的服务器(一个欢乐加速器)来运行ruby 1.9.x并使用rails 3,但我无法停止或将此应用程序移动到另一台服务器。
有没有办法在ruby 1.9上运行此应用程序? 或者同时运行两个ruby版本(1.8.7和1.9)? 或者在最后一个案例中升级我的应用程序以使用rails 3?
感谢。
答案 0 :(得分:1)
Rails有很多补丁使它在Ruby 1.9下运行。如果您尝试这样做,我认为您可以接受挑战。使用Ruby Version Manager,您可以work with multiple ruby environments from interpreters to sets of gems
。
答案 1 :(得分:1)
是否必须切换到Rails3和Ruby 1.9? 您可以在虚拟化服务器上抛弃旧应用程序并保持应用程序按原样运行吗?
我的建议的原因是我们刚刚经历了类似的案例。本地企业(建筑协会)在2 - 3年前为他们开发了一对应用程序(与Rails 1.2.6一起使用)。没有什么过分重要的(计费应用程序和投标/承包商/客户管理系统)。一切正常,所以无需更新任何内容。
他们的托管服务提供商不愿意在共享托管环境中保留旧的过时的rails。托管商店引用的维护不能简化,安全问题等等。果然,同一主机提供重写应用程序的当前技术(当然,价格)。
客户对他们不满意。自开业以来开发应用程序的开发商和开发商离开了更加绿色的牧场。但一切正常,为什么要重新发明轮子,对吧?客户去寻找替代品。来找我们我们与客户坐下来,进行了一些成本/收益分析,并决定只在虚拟化环境中托管(在另一家提供商处)。这是在一周内(有一些hick-up):备份,移动,恢复,测试,一切正常。它现在已经工作了3个月没有任何问题。
这可能对您不起作用,但除非您需要添加到应用中,为什么要修复未损坏的内容?
答案 2 :(得分:0)
jruby -S gem install rails
的相关宝石。 Ruby和JRuby宝石完美共存,没有任何干扰。 Joyent的Accelerator中的OpenSolaris擅长运行Java,所以你不会遇到太多问题。P.S。顺便说一句,我不建议您将Rails 1.x应用程序更新为3.x,除非您计划为其添加许多新功能。这可能会非常痛苦,特别是如果你使用了很多老派的宝石和插件。