Hallo Liste, was mir noch Kopfzerbrechen bereitet ist das Zusammenwirken der Web/Application Server. Ich verstehe das Port Handling nicht. Mein Apache2 verarbeitet alles was auf Port 80 ankommt. Mongrel lauscht auf Port 3000. Jetzt kann ich aber wegen Firewall usw. an einem Arbeitsplatz in einer Firma nur Post 80 Verbindungen aufbauen. Und :3000 möchte man ja auch nicht immer an die Adresse anhängen müssen. Wie bringe ich Apache2 also bei die Anfragen an eine bestimmte Subdomain an Port 3000 weiterzuleiten. Oder ist das der falsche Ansatz? Danke für die Hilfe. Holger
on 17.04.2008 20:08
on 17.04.2008 20:18
Was Du brauchst, heißt mod_proxy_balancer (musst Du ggf. nachinstallieren, je nach Systemumgebung). Damit kannst Du Deinen Apachen so konfigurieren, dass er alle Anfragen an eine bestimmte URL oder einen bestimmten Pfad an Deinen Mongrel-Cluster weiterleitet. In der httpd.conf (bzw. bei Debian der Dateien unter /etc/apache2/ sites-enabled) steht dann sinngemäß so etwas: <Proxy balancer://irgendein_name> BalancerMember http://127.0.0.1:3000 BalancerMember http://127.0.0.1:3001 </Proxy> RewriteRule ^/vaps/(.*)$ balancer://irgendein_name/$1 [P,QSA,L] Alternativ kannst Du auch ProxyPass/ProxyPassReverse einsetzen, kommt drauf an, wie genau Dein Setup aussieht. In jedem Fall werden Anfragen dann vom Apache entgegengenommen (auf Port 80) und bei Bedarf an den Mongrel weitergeleitet. HTH, Stefan -- Stefan Tilkov, http://www.innoq.com/blog/st/
on 17.04.2008 20:32
Am 17.04.2008 um 20:17 schrieb Stefan Tilkov: > In jedem Fall werden Anfragen dann vom Apache entgegengenommen (auf > Port 80) und bei Bedarf an den Mongrel weitergeleitet. Das mit dem "bei Bedarf" heißt wenn es keine statische Datei gibt die der Apache ausliefern könnte, diese Requests an den mongrel weiterzuleiten wäre nämlich Unsinn. ciao, tom -- Thomas R. "TomK32" Koll || http://tomk32.de || http://ananasblau.com just a geek trying to change the world Skype: TomK32 || Mail: tomk32@gmx.de
on 18.04.2008 05:35
Stefan Tilkov wrote: > Was Du brauchst, heiߴ mod_proxy_balancer (musst Du ggf. > nachinstallieren, je nach Systemumgebung). Damit kannst Du Deinen > Apachen so konfigurieren, dass er alle Anfragen an eine bestimmte URL > oder einen bestimmten Pfad an Deinen Mongrel-Cluster weiterleitet. Ich scheitere leider schon im Ansatz. Den Proxy_balancer gibt es in meiner Modulsammlung nicht. Und Apache.org kann ich ihn auch nicht finden. Wo gibt es das Modul? Ein Versuch mit Proxypass ist gescheitert. Ich könnte mir vorstellen, dass der Proxypass nichts mit einer Weiterleitung auf einen anderen Port zu tun haben will. Danke für die Hilfe! Holger
on 18.04.2008 07:28
On Apr 18 2008, at 05:35, Holger Hänisch wrote: > Ich scheitere leider schon im Ansatz Einfacher: RewriteEngine On RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ "http://localhost:3000/$1" [P,QSA,L] Die mittlere Zeile ist schon eine Optimierung (statische Files direkt aus Apache ausliefern); bei Problemen diese Zeile weglassen. (Es gibt noch ein paar mehr Zeilen, die man braucht, um Page-Caching voll wirksam werden zu lassen; habe ich weggelassen.) localhost ggfs. durch den Hostnamen des Rechners ersetzen, auf dem der Mongrel laeuft. 3000 durch die Portnummer des Mongrel ersetzen. Gruesse, Carsten
on 18.04.2008 09:44
Hallo Holger, Am 18.04.2008 um 05:35 schrieb Holger Hänisch: > Ich scheitere leider schon im Ansatz. Den Proxy_balancer gibt es in > meiner Modulsammlung nicht. Und Apache.org kann ich ihn auch nicht > finden. Wo gibt es das Modul? > das Modul gibt es erst in Apache Version 2.2, vielleicht ist das Dein Problem: http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html Viele GrüßeRalf
on 18.04.2008 09:49
oder du versuchst es mit passenger (aka mod_rails). Dann brauchst du dir um proxy_balancer, ports usw keine gedanken mehr machen... www.modrails.com installation ist sau einfach, am besten du schaust dir den screencast an und machst es dann nach. Am 17.04.2008 um 20:08 schrieb Holger Hänisch: > Wie bringe ich Apache2 also bei die Anfragen an eine bestimmte > rubyonrails-ug@headflash.com > http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug --- Siebert WD Michael Siebert Trappenweg 6, 15749 Mittenwalde, Deutschland
on 18.04.2008 10:17
Am 18.04.2008 um 09:48 schrieb Michael Siebert: > oder du versuchst es mit passenger (aka mod_rails). Dann brauchst du > dir um proxy_balancer, ports usw keine gedanken mehr machen... > > www.modrails.com > > installation ist sau einfach, am besten du schaust dir den > screencast an und machst es dann nach. > Klingt spannend Wie sind deine Erfahrungen damit ? Nutzt du das produktiv ? Gruß Werner Laude Lindenburger Allee 22 - 50931 Köln 0221.8805 635 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ http://www.webagentur-laude.de ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
on 18.04.2008 12:59
Ich habs ausprobiert und benutze es auf einem (unbenutzten) staging- system. extrem einfach und funktioniert. produktiv habe ich damit keine erfahrungen, sollte aber stabil sein (lt aussage von phusion) mfg Am 18.04.2008 um 10:16 schrieb Werner Laude: >> > > _______________________________________________ > rubyonrails-ug mailing list > rubyonrails-ug@headflash.com > http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug --- Siebert WD Michael Siebert Trappenweg 6, 15749 Mittenwalde, Deutschland
on 18.04.2008 17:34
Ich habe es mit passenger versucht. Nachdem ich die Rechte der Dateien richtig gesetzt hatte ging es dann auch. Mir scheint das wirkliche eine gute Lösung. Danke für alle Tipps. Holger
on 18.04.2008 17:51
dann bist du hiermit verpflichtet, uns über die stabilität, fehler etc zu berichten. :) Am 18.04.08 schrieb Holger Hänisch <lists@ruby-forum.com>: > Ich habe es mit passenger versucht. Nachdem ich die Rechte der Dateien > richtig gesetzt hatte ging es dann auch. Mir scheint das wirkliche eine > gute Lösung. Danke für alle Tipps. > > Holger > -- > Posted via http://www.ruby-forum.com/. > -- Siebert Webdesign Michael Siebert Trappenweg 6, 15749 Mittenwalde, Deutschland
on 19.04.2008 14:58
On 20:08 Do 17 Apr, Holger Hänisch wrote: > an Port 3000 weiterzuleiten. Oder ist das der falsche Ansatz? meine Virtual-Host Definition des Apachen sieht so aus (und das tut es ganz hervorragend): <VirtualHost *> ServerAdmin <hier deine Adresse> ServerName <dito> ServerAlias <auch irgendwas> CustomLog /pfad/zum/logfile # jetzt gehts los <Proxy *> Order deny,allow Allow from all </Proxy> # bei Dir halt 3000 und die Adresse ist auch anzupassen # muss ja nicht auf localhost sein ProxyPass / http://localhost:8000/ ProxyPassReverse / http://localhost:8000/ ProxyPreserveHost on ProxyRequests Off # Zugriff auf statischen Inhalt nicht über Mongrel # (natürlich beliebig erweiterbar) ProxyPass /images ! ProxyPass /stylesheets ! # Alias und Pfad zum statischen Inhalt Alias /images /pfad/zu/public/images Alias /stylesheets /pfad/zu/public/stylesheets </VirtualHost> Den Indianer neu starten und fortan sollte das passen... Gruß Torsten