2014-01-18 99 views
9

我的rails應用程序將只顯示公共目錄,當我去的網址。 我使用的是Apache,passenger和ubuntu。 我的apache虛擬主機文件是;Rails應用程序只與乘客顯示公共目錄

<VirtualHost *:80> 
    ServerName www.phusion.nl 
    DocumentRoot /websites/phusion 
    <Directory /websites/phusion> 
     Allow from all 
    </Directory> 

    # These have been added: 
    Alias /subapp /websites/rails/public 
    <Location /subapp> 
     PassengerBaseURI /subapp 
     PassengerAppRoot /websites/rails 
    </Location> 
    <Directory /websites/rails/public> 
     Allow from all 
     Options -MultiViews 
    </Directory> 
</VirtualHost> 

我想所有東西都安裝正確,我的config.ru是;

require ::File.expand_path('../config/environment', __FILE__) 
run Rails.application 

我已將以下內容添加到apache2.conf;

LoadModule passenger_module /home/vps/.rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.35/buildout/apache2/mod_passenger.so 
<IfModule mod_passenger.c> 
    PassengerRoot /home/vps/.rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.35 
    PassengerDefaultRuby /home/vps/.rvm/gems/ruby-2.0.0-p353/wrappers/ruby 
</IfModule> 

apache error.log given;

All Phusion Passenger agents started! 
    [ 2014-01-19 09:05:23.8076 12140/7f1e3695c740 agents/Watchdog/Main.cpp:526 ]: 
Options: { 'analytics_log_user' => 'nobody', 'default_group' => 'nogroup', 'default_python' => 'python', 'default_ruby' => '/home/vps/.rvm/gems/ruby-2.0.0-p353/wrappers/ruby', 'default_user' => 'nobody', 'log_level' => '0', 'max_pool_size' => '6', 'passenger_root' => '/home/vps/.rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.35', 'passenger_version' => '4.0.35', 'pool_idle_time' => '300', 'temp_dir' => '/tmp', 'union_station_gateway_address' => 'gateway.unionstationapp.com', 'union_station_gateway_port' => '443', 'user_switching' => 'true', 'web_server_passenger_version' => '4.0.35', 'web_server_pid' => '12137', 'web_server_type' => 'apache', 'web_server_worker_gid' => '33', 'web_server_worker_uid' => '33' } 
+1

你可以給你的服務器上的rails應用程序的完整路徑?你真的想將應用程序部署到子URI嗎? – vooD

+0

它必須是一個子uri。完整路徑是/ var/www/subapp –

+1

爲什麼如果您的應用程序位於'/ var/www/subapp'目錄中,Directory指向'/ websites/rails/public'? – vooD

回答

5

咄...

我不得不PassengerAppRoot集到公共文件夾,而不是rails根。

+0

你好,你能說明更多你做了什麼來解決這個問題嗎?我處於類似的情況 – mmcrae

+0

fyi我正在使用AWS + OpsWorks ...不確定你在使用什麼 – mmcrae

2

此問題可能是因爲你的方式安裝在乘客模塊

錯誤的方式:sudo的乘客安裝-Apache2的模塊

正道:rvmsudo乘客安裝-apache2-module

我只是猜測你使用了第一個導致這個問題的問題,請糾正我,如果我錯了。

+0

我安裝了rvmsudo –

+0

它的工作原理和完美 –

相關問題