理想
使用rvm,能够在一个Web服务器上拥有多个Rubies并且通过某种服务器配置,能够在每个项目的基础上将Ruby版本分配给不同的Rails / Sinatra / etc应用程序将是非常棒的。
我知道,从rvm的文档来看,Passenger一次只能使用一个Ruby。 :(
妥协
如果不这样做,至少可以编写一种能够将项目分配给Ruby 1.8或Ruby 1.9解释器的方法。我已经读过使用Nginx作为反向代理允许在同一个盒子上运行Apache和Nginx。然后是否可以使用一个Ruby使用Apache + Passenger,使用另一个使用Nginx + Passenger?也许在Nginx上使用Passenger以外的东西?
我是否咆哮错误的树?
我错过了解决这个问题的好方法吗?我是否陷入了噩梦配置的境地?我想要的是什么,或者是否有必要运行另一个盒子来运行单独的Ruby版本?
答案 0 :(得分:2)
查看此帖子:来自官方Phusion博客的Phusion Passenger & running multiple Ruby versions。它通过使用Passenger Standalone作为反向代理来解决问题。
答案 1 :(得分:1)
你可以在Nginx上使用Thin或Unicorn。您可以编写一个神脚本或其他启动脚本来为每个项目设置ruby版本(或者只是手动启动Thin / Unicorn)。
答案 2 :(得分:1)
使用多个小型虚拟机?
答案 3 :(得分:0)
如何将所有项目(或至少一台服务器上的项目)保存在同一个ruby版本上?是使用旧版本还是升级旧项目?
我认为,这样你就会遇到最少的问题。
答案 4 :(得分:0)
妥协是可能的。您可以通过多种方式实现这一目标,但最简单的方法可能是反向代理,以及您认为方便的许多chrooted ruby + webserver + rails安装。
答案 5 :(得分:0)