2013-03-26 79 views
2
乘客的多個版本

我安裝了乘客的Apache2模塊後,它給了我這樣的:。運行的多的Ruby-on-Rails應用程序

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唐」 T爲混淆)

所以,如果我想部署使用完全不同的版本紅寶石的另一個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

對於乘客3.X:從PHUSION 一種解決方案是使用mod_proxy的綁定到乘客獨立的:http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/ 我不知道在100%,但在99%,則不能裝載兩個版本乘客模塊,因爲它們將會特別與配置變量衝突,例如PassengerRoot,PassengerRuby,它們僅限於服務器範圍

+0

我的服務器要求我不要運行獨立的乘客:-(其中有一些非常棘手的安全問題(SSL在Load Balancer上設置,我無法在乘客上使用反向代理:'PassengerEnabled off','ProxyPass/http: //127.0.0.1:3000','ProxyPassReverse/http://127.0.0.1:3000')。 – 2013-03-26 21:17:21

+0

我認爲你的負載平衡器上的SSL設置對於代理來說並不是問題。無論如何嘗試passnger 4,Phusion現在說你可以爲每個虛擬主機定義一個ruby版本,我不能回答,我沒有嘗試。 – 2013-03-27 06:39:07

1

Passenger支持從版本4.0.0開始的多個Ruby解釋器。 PassengerRuby配置選項已被設置爲每虛擬主機選項,因此您可以在每個應用程序的基礎上自定義您的Ruby解釋器。

對於乘客3,你將不得不使用代理。