Frage

Was ist der bevorzugte Weg, um einen compojure / sinatra Anwendungen bereitstellen? Ich habe mehrere Websites auf dem Host ausgeführt, so kann ich nicht Anlegestelle / Mischlings auf Port 80 laufen kann wie soll ich mehrere Websites / Anwendungen laufen auf dem gleichen Host behandeln?

War es hilfreich?

Lösung

einen Web-Server verwenden wie Apache , die auf Port 80 läuft und mit virtuelle Hosts den Verkehr auf den rechten Seite App-Server zu leiten. Also im Grunde würden Sie jeden Anwendungsserver (Anlegesteg / Mischlings, etc.) laufen auf einem anderen Port und dann in jedem virtuellen Host würde eine andere Konfiguration haben so etwas wie mod Proxy den Verkehr auf den App-Server zu übermitteln. Sie könnten einen anderen Web-Server verwenden, wie zum Beispiel lighttpd oder nginx . sucht die sinatra App können Sie auch unter Phusion Passagier, auch bekannt als mod Schienen, auch bekannt als mod Rack , die theoretisch funktioniert mit jedem Rack App, obwohl verwendet habe ich es nur mit Rails.

Wenn Sie es schauen in einig mehr werden Sie feststellen, dass es verschiedene Systeme für den Verkehr auf den App-Server von einem Web-Server weiterzuleiten, aber der grundlegende Mechanismus für das Tun dieser Art der Sache kocht immer nach unten einem Web-Server zu haben, dass lauscht auf Port 80, die namensbasierte virtuelle Hosts verwendet, um den Datenverkehr dann an die entsprechende App übermitteln.

Andere Tipps

Ich mache diese Art der Sache mit verschiedenem Standalone-Server (beispielsweise AllegroServe) seit Jahren. Ich habe den besten Ansatz gefunden werden:

  • Führen Sie jeden Server auf einem anderen, nicht-privilegierten Port (wie 8080)
  • Ausführen pound (oder Nginx etc.) auf 80, für jede Anwendung kartieren Anforderungen konfiguriert.

Pound ist groß, und die Konfigurationen sehr einfach am Ende (im Gegensatz zu Nginx). Es wird auch tun, SSL und HTTP Fronting Hygienisierung für Sie, die die Last von der Anwendung nimmt.

Verwenden Passagier! http://modrails.com - es ist ein Plugin für Apache und nginx, die Sie (sehr) leicht eine rubin laufen lässt App als virtueller Host

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top