2012-04-08 7 views
1

Ich verwalte ein kleines VPS mit mehreren PHP/MySQL-Websites. Es läuft CentOS (wenn auch eine leicht modifizierte VSP-Version x86). Alles funktioniert gut. Jetzt möchte ich jedoch eine Rails 3-Anwendung auf einer bestimmten Domäne ausführen, die auf meinem VPS gehostet wird. Die Sache ist, die Anwendung benötigt Rails 3, die noch nicht von cPanel unterstützt werden. Wenn ich auf dem Server ssh und rails s im App-Ordner ausführen, läuft es reibungslos, und ich kann es unter siegedog.com:3000 zugreifen. Ich möchte jedoch alle Anforderungen an siegedog.com zu Port umleiten 3000.Setup Apache Reverse-Proxy für Rails App läuft am Port 3000

ich gelesen habe, dass dies einen Reverse-Proxy einrichten würde davon ausgehen, dass alle Anforderungen umleiten, würde es für siegedog zu Mongrel wird, die auf laufen sollte Port 3000. Ich habe viele Tutorials ausgecheckt, aber die meisten waren verwirrend und/oder ziemlich veraltet.

Ich habe auch versucht, Passagier. Die Bearbeitung meiner httpd.conf ist jedoch von cpanel nicht erlaubt. Also habe ich eine separate Datei verwendet, die dort enthalten ist und die zusätzlichen Konfigurationsparameter in einer Remote-Datei hinzugefügt, nur um das Default server page Problem zu bekommen, und keine Fehler im Apache Fehlerprotokoll.

+0

Was "Standard-Server-Seite" Fehler ist das? Könnten Sie einen Screenshot machen und uns zeigen? –

+0

Etwas wie dieses: http://static.howtoforge.com/images/lamp_installation_ubuntu6.06/apache_home.jpg (dies ist für eine ältere Version von Apache) Es ist normalerweise ein Zeichen, dass httpd.conf falsch konfiguriert ist. –

+1

Haben Sie versucht, die Konfiguration in eine '.htaccess'-Datei im Dokumentenstammverzeichnis zu schreiben? –

Antwort

0

Nun, dank John Douthat des verwalteten ich meine app ziemlich leicht die folgende .htaccess-Dokument mit in die Wiege gelegt:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^siegedog\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.siegedog\.com$ 
RewriteRule ^(.*) "http\:\/\/127\.0\.0\.1\:3000\/$1" [P,L] 

Auch ist es von einer SSH-Verbindung beginnen Ich rief:

nohup rails s & 

in der Rails-Anwendung root. Alles ist gut jetzt!