2

在我安装了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,对吧?

我很混乱。请帮帮我。

4

2 回答 2

2

从 4.0.0 版开始,Passenger 支持多个 Ruby 解释器。PassengerRubyconfig 选项已成为每个虚拟主机的选项,因此您可以基于每个应用程序自定义 Ruby 解释器。

对于乘客 3,您必须使用代理。

于 2013-08-15T08:52:37.183 回答
0

对于乘客 3.x:phusion 的一种解决方案是使用 mod_proxy 绑定到独立乘客:http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/ I ' m 不确定在 100%,但在 99%,您不能加载两个版本的乘客模块,因为它们会在配置变量(如 PassengerRoot、PassengerRuby)上发生冲突,这些变量仅限于服务器范围

于 2013-03-26T21:00:52.583 回答