Ich suche nach einem eigenständigen HTTP-Webserver, den ich auf Windows- und Linux-Computern bereitstellen kann, um statische Dateien bereitzustellen.
Es muss klein und einfach sein. Vorzugsweise wäre ich in der Lage, es von einer Befehlszeile aus zu starten (und herunterzufahren), wobei ich angeben würde, auf welchem Port es ausgeführt werden würde, und angeben würde, auf welches Verzeichnis es als sein Home-Verzeichnis zeigen würde.
Kennt jemand so etwas?
Ich würde Jetty vorschlagen . Ich bin dabei, dies in eine Anwendung einzubetten. Es ist Java-basiert und plattformübergreifend kompatibel.
Sie können Jetty auch ganz einfach direkt in Ihre Anwendung einbetten.
Merkmale
BEARBEITEN: Am Ende habe ich die eingebettete Version von Tomcat verwendet, also füge ich das als Empfehlung hinzu. Einfach und benutzerfreundlich innerhalb des Codes. Und wie pro OP, kann von der Befehlszeile aus gestartet werden .
Ich habe persönlich Mongoose verwendet . Es ist vollständig plattformübergreifend und eine eigenständige ausführbare Datei. Es stellt statische Dateien bereit und dient standardmäßig aus dem Verzeichnis, in dem Sie es starten. Sie können ihm auch einen Pfad in der Befehlszeile übergeben, wenn Sie ein anderes Verzeichnis bereitstellen möchten.
Einige Alternativen.
Beide Optionen sind leicht, aber leistungsstark, vollständig plattformübergreifend und können portabel installiert werden (d. h. sie benötigen keine Administratorberechtigungen für die Installation).
Sie können Apache nach der Installation von Cygwin installieren. https://cygwin.com/
Wenn Sie etwas wollen, das wahrscheinlich etwas einfacher zu installieren und einzurichten ist, können Sie WAMP ausprobieren. http://www.wampserver.com/de/
Es gibt auch XAMP, das ungefähr dasselbe ist. https://www.apachefriends.org/index.html
Ich bin mir nicht sicher, warum Sie einen benötigen würden, der in beiden Umgebungen funktionieren kann. Persönlich würde ich eine Linux-VM in VirtualBox mit Puphpet einrichten , um einen Webserver in Windows auszuführen, wenn ich irgendwie in Windows feststecke.
Trotzdem würde ich Nginx empfehlen . Es ist hauptsächlich für Linux. Dafür wurde es entwickelt und weiter. Sie haben jedoch eine native Windows-Version , für deren Ausführung Cygwin nicht erforderlich ist.
Ich bin sehr zufrieden mit MiniWeb .
MiniWeb ist eine in C-Sprache geschriebene Mini-HTTP-Server-Implementierung, die sich durch geringen Systemressourcenverbrauch, hohe Effizienz, gute Flexibilität und hohe Portabilität auszeichnet. Es ist in der Lage, mehrere Clients mit einem einzigen Thread zu bedienen und unterstützt GET- und POST-Methoden, Authentifizierung, dynamische Inhalte (dynamische Webseiten- und Seitenvariablensubstitution) und das Hochladen von Dateien. MiniWeb läuft auf POSIX-kompatiblen Betriebssystemen wie Linux sowie Microsoft Windows (Cygwin, MinGW und nativer Build mit Visual Studio). Die Binärgröße von MiniWeb kann bis zu 20 KB betragen (unter x86-Linux). Das Ziel des Projekts ist die Bereitstellung eines schnellen, funktionalen und ressourcenarmen HTTP-Servers, der in andere Anwendungen (als statische oder dynamische Bibliothek) sowie als eigenständiger Webserver eingebettet werden kann.
Nick