2014-01-18 7 views
9

Meine Rails App wird nur das öffentliche Verzeichnis angezeigt, wenn ich auf die URL gehe. Ich benutze Apache, Passagier und Ubuntu. Meine Apache virtualhosts Datei ist;Rails App zeigt nur öffentliche Verzeichnis mit Passagier

Ich denke, alles ist richtig installiert, meine config.ru ist;

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

Ich habe folgende zu apache2.conf hinzugefügt;

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> 

die Apache error.log gibt;

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

Könnten Sie der App rails auf Ihrem Server einen vollständigen Pfad geben? Möchten Sie die App wirklich für den Sub-URI bereitstellen? – vooD

+0

Es muss ein Sub-URI sein. Der vollständige Pfad lautet/var/www/subapp –

+1

Warum zeigt das Verzeichnis auf '/ websites/rails/public', wenn sich Ihre App in'/var/www/subapp' befindet? – vooD

Antwort

5

duh ...

hatte ich PassengerAppRoot Satz zum öffentlichen Ordner, nicht rails Wurzel.

+0

Hallo, könnten Sie mehr veranschaulichen, was Sie getan haben, um das zu beheben? Ich bin in einer ähnlichen Situation – mmcrae

+0

fyi Ich verwende AWS + OpsWorks ... nicht sicher, mit was Sie arbeiteten – mmcrae

2

Dieses Problem kann aufgrund der Art und Weise Sie das Passagiermodul

installiert

Falscher Weg: sudo Passagier-install-apache2-Modul

Richtigen Weg: rvmsudo passagier installieren -apache2-modul

Ich vermute nur, dass Sie die erste verwendet haben, die zu diesem Problem führt, bitte korrigieren Sie mich, wenn ich falsch liege.

+0

Ich installierte mit Rvmsudo –

+0

Es funktioniert und perfekt –

Verwandte Themen