2016-06-20 4 views
0

Ich mag würde eine Ruby on Rails-Anwendung auf dem Netz zu implementieren, und für diese Angelegenheit habe ich verwendet/eingesetzt, um die folgenden Tools:Ruby on Rails-Anwendung Dateien Index anstelle der App zeigt

  1. Capistrano, zu bereitstellen der App-Dateien in das Zielverzeichnis
  2. der Phusion Passagier-Modul für Apache

ich habe das Passagiermodul durch sudo a2enmod passenger aktiviert. Ich habe auch das Passagier-Juwel durch den Edelstein-Installer installiert und es der Gemfile meiner Schienen-App hinzugefügt. Ich habe dann einen Apache virtuellen Host für die App 'myapp' erstellt.

myapp.conf

Alias /myapp /var/www/myapp/current/public 
    <VirtualHost *:80> 
    DocumentRoot /var/www/myapp/current/public 
    SetEnv SECRET_KEY_BASE 592da*************************************** 
    <Directory /var/www/myapp/current/public> 
    PassengerEnabled on 
    PassengerResolveSymlinksInDocumentRoot on 
    PassengerAppRoot /var/www/myapp/current 
    PassengerAppType rack 
    PassengerStartupFile config.ru 
    Allow from all 
    Options -MultiViews 
    Require all granted 
    </Directory>  
</VirtualHost> 

Die virtuelle Host-Arbeit, aber wenn ich die URL in einem Web-Browser zugreifen, es zeigt die Dateien Index in/var/www/myapp/Strom/public statt die eigentliche App. Der Grund dafür scheint zu sein, dass Passagiere nicht gestartet werden, aber ich kann nicht herausfinden warum. Ich habe versucht, die Datei myapp.conf zu optimieren, um Apache und Beifahrer die App zu erkennen, aber ohne Erfolg.

Konnte mir jemand helfen, das zu beheben? Danke im Voraus.

Zusätzliche Informationen: Die App wird auf einem Raspberry Pi 3 mit Raspbian Jessie als Betriebssystem bereitgestellt.

Antwort

0

Versuchen Sie dies. Dies ist für sub-Uri-deployment.Error ist, weil PassengerRuby Pfad wurde nicht erwähnt. Gehen Sie auch über diesen Link https://www.phusionpassenger.com/library/deploy/apache/deploy/ruby/.

Alias /myapp /var/www/myapp/current/public 
<VirtualHost *:80> 
SetEnv SECRET_KEY_BASE 592da*************************************** 
PassengerRuby /path-to-ruby /* replace this with your ruby path 
<Location /myapp> 
    PassengerBaseURI /myapp 
    PassengerAppRoot /var/www/myapp/current 
    PassengerEnabled on 
</Location> 

<Directory /var/www/myapp/current/public> 
    Allow from all 
    Options -MultiViews 
    Require all granted 
</Directory>  
</VirtualHost> 
+0

Danke für die Antwort. Ich benutzte deinen Code und füllte den PassengerRuby mit dem Ruby-Pfad, der mit dem Befehl 'passagier-config about ruby-command' angegeben wurde. Leider hat es das Problem nicht gelöst; Beim erneuten Laden von Apache bekomme ich immer noch den Dateiindex und nicht die App, wenn ich mich mit der URL verbinde. – alexandrejpierre