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
- Capistrano, zu bereitstellen der App-Dateien in das Zielverzeichnis
- 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.
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