Einfach einsetzbarer Webserver

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?

Antworten (5)

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

  • Voll funktionsfähig und standardbasiert
  • Open Source und kommerziell nutzbar
  • Flexibel und erweiterbar
  • Kleiner Fußabdruck
  • Einbettbar
  • Asynchron
  • Enterprise skalierbar
  • Dual lizenziert unter Apache und Eclipse

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 .

Am Ende habe ich Restlet verwendet, aber für ein neues Projekt, das mehr Flexibilität erfordert, habe ich eingebettetes Jetty verwendet, das großartig funktioniert. Also gebe ich das Akzeptieren

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.

  • http-Server Benötigt node.js. Kann ein Produktionsserver oder ein Entwicklungsserver sein. Ansonsten ist es identisch mit Mungo

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).

Ich hatte Mongoose und HTTP-Server bei meinen Recherchen gefunden. Leider ist die Lizenz von Mongoose für meine Verwendung nicht ausreichend, und ich kann nicht garantieren, dass meine Kunden node.js auf ihren Systemen haben.

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

Apache scheint nicht gerade "einfach" zu sein, seine Konfigurationsdatei kann manchmal schwierig zu optimieren sein, meiner Meinung nach zu übertrieben (aber nett für komplexere als einfache HTML-Dateien). Außerdem brauchen Sie Cygwin überhaupt nicht, es ist viel besser, stattdessen die native Windows-Version zu installieren.

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.