安装Passenger Apache2模块之后,它给了我类似的东西:
LoadModule passenger_module /home/passenger/.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.17/ext/apache2/mod_passenger.so
PassengerRoot /home/passenger/.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.17
PassengerRuby /home/passenger/.rvm/wrappers/ruby-1.9.2-p290/ruby
(抱歉,我有一个名为passenger
的用户帐户。请不要混淆。)
因此,如果我想部署另一个使用完全不同版本的ruby的rails应用程序,那么我相信它会提供类似于上述配置的东西但是具有不同的ruby版本,例如:
LoadModule passenger_module /home/passenger/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17/ext/apache2/mod_passenger.so
PassengerRoot /home/passenger/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17
PassengerRuby /home/passenger/.rvm/wrappers/ruby-1.9.3-p194/ruby
然后我如何配置Apache2(我不是要求虚拟主机部分)?因为LoadModule passenger_module
有两个版本。我不认为一个Apache2服务器可以加载两个不同版本的passenger_module
,对吗?
我很困惑。请帮帮我。
答案 0 :(得分:1)
从4.0.0版开始,Passenger支持多个Ruby解释器。 PassengerRuby
配置选项已成为每个虚拟主机选项,因此您可以基于每个应用程序自定义Ruby解释器。
对于乘客3,您必须使用代理。
答案 1 :(得分:0)
对于乘客3.x: 来自phusion的一个解决方案是使用mod_proxy绑定到独立乘客:http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/ 我不确定100%,但99%,你不能加载两个版本的乘客模块,因为它们会特别冲突配置变量,如PassengerRoot,PassengerRuby,仅限于服务器范围