Mehrere Web-Apps auf einem Laptop-freundlichen Weg

376
SystematicFrank

Ich habe eine große Sammlung von Mini-Web-Apps in Rails und Sinatra, die ich ständig verwende. Mein Ziel ist es, sie auf eine Laptop-freundliche Art zu hosten .

Die meisten Bereitstellungsartikel, die ich gesehen habe, richten sich an Server, bei denen der Prozess Unicorn / Puma / Passenger / Thin im Hintergrund läuft. Da ich nicht wusste, wie stark sich die Batterie auswirken könnte, wenn so viele Ruby-basierte Apps im Hintergrund ausgeführt werden, überlebte ich bisher, dass ich jede App einzeln startete, je nach Bedarf.

Wie kann ich alle meine Apps für den Localhost-Einsatz nur auf energieeffiziente Weise bereitstellen? Ich möchte nicht, dass ständig mehrere Ruby-Prozesse im Hintergrund ausgeführt werden oder mein Laptop nicht in den Ruhezustand versetzt wird.

Als Hinweis, wenn es darauf ankommt: Jede meiner Apps wird unter einer eigenen Portnummer ausgeführt und einige von ihnen werden durch nginx vorangestellt.

0
Benötigen Sie die Anwendungen zu jeder Zeit? Haben Sie überlegt, VirtualBox für die Virtualisierung jeder Anwendung zu verwenden? Abhängig von den Anwendungen können Sie sie auch zu Heroku verschieben, was bedeutet, dass sie sich online anstatt auf Ihrem lokalen Computer befinden würden. kobaltz vor 10 Jahren 0
Sie sollten nicht zu jeder Zeit geöffnet sein, die meisten werden nur 3-mal pro Woche für kurze Zeit verwendet. Mindestens einer von ihnen wird jedoch täglich verwendet. Wenn man bedenkt, wie ressourcenintensiv VirtualBox ist, scheint es mir etwas zu sein, das meine Ziele missachtet: niedrige CPU-Auslastung und keine Auswirkungen auf den Schlaf des Laptops. Heroku ist auch keine Alternative, da viele meiner Apps mein lokales Dateisystem berühren / durchsuchen, Protokolle lesen, lokale Netzwerkereignisse auslösen ... verrückte Hacks, die nur auf meinem Laptop laufen sollen. SystematicFrank vor 10 Jahren 0
Haben Sie in Parallels Containers nachgesehen? Sie haben jetzt eine offene Betaversion für Windows. Anstelle einer vollständigen KVM-Virtualisierung sind dies Container (etwa OpenVZ), jedoch für Windows. Der Hardware-Virtualisierung liegt eine gemeinsame zugrunde liegende Hardwarevirtualisierung zugrunde, und die Container führen "halbe" Instanzen aus, teilen jedoch Ressourcen der zugrunde liegenden Virtualisierung. Dies ermöglicht einen viel besseren Knall als KVM. Wenn Ihr Host-Betriebssystem Linux ist, sollten Sie sich OpenVZ ansehen. Wenn es sich um Windows handelt, schauen Sie sich Parallels Containers an. Dies muss jedoch auf einem Windows Server-Betriebssystem installiert werden. kobaltz vor 10 Jahren 0

1 Antwort auf die Frage

0
andrej

Wenn alle Apps die gleiche Ruby-Version und das gleiche Edelstein-Setup haben, lasse ich lieber alle Apps einzeln ausführen, wenn sie benötigt werden, möglicherweise durch Pound Reverse-Proxy (um verschiedene Ports hinter verschiedenen URL-Präfixen zu verbergen).

Wenn Sie Isolationsumgebungen benötigen, werfen Sie einen Blick auf Docker https://www.docker.io/, der kompakte und blitzschnelle Anwendungscontainer bereitstellt.