Der http.server von Python (oder SimpleHTTPServer für Python 2) ist eine hervorragende Möglichkeit, den Inhalt des aktuellen Verzeichnisses über die Befehlszeile bereitzustellen:
python -m http.server
Was Webserver angeht, ist es jedoch sehr langsam ...
Es verhält sich wie Single-Threaded und verursacht gelegentlich Timeout-Fehler beim Laden von JavaScript-AMD-Modulen mit RequireJS. Das Laden einer einfachen Seite ohne Bilder kann fünf bis zehn Sekunden dauern.
Was ist eine schnellere Alternative, die genauso praktisch ist?
command-line
httpserver
command-line-tool
simplehttpserver
Drew Noakes
quelle
quelle
git instaweb
.Antworten:
http-server für node.js ist sehr praktisch und viel schneller als Pythons SimpleHTTPServer. Dies liegt hauptsächlich daran, dass asynchrone E / A für die gleichzeitige Verarbeitung von Anforderungen verwendet werden, anstatt Anforderungen zu serialisieren.
Installation
Installieren Sie node.js, falls Sie dies noch nicht getan haben. Verwenden Sie dann den Node Package Manager (
npm
), um das Paket zu installieren, und verwenden Sie die-g
Option, um es global zu installieren. Wenn Sie unter Windows arbeiten, benötigen Sie eine Eingabeaufforderung mit Administratorrechten. Unter Linux / OSX möchten Siesudo
den folgenden Befehl ausführen :Dadurch werden alle erforderlichen Abhängigkeiten heruntergeladen und installiert
http-server
.Verwenden
Jetzt können Sie aus jedem Verzeichnis Folgendes eingeben:
Der Pfad ist optional
./public
, andernfalls standardmäßig, falls vorhanden./
.Optionen sind [Standardeinstellungen]:
-p
Die Portnummer, die abgehört werden soll [8080]-a
Die Hostadresse, an die [localhost] gebunden werden soll-i
Verzeichnisindexseiten anzeigen [True]-s
oder--silent
Silent-Modus wird nicht an der Konsole protokolliert-h
oder--help
Zeigt eine Hilfemeldung an und wird beendetGeben Sie Folgendes ein, um das aktuelle Verzeichnis auf Port 8000 bereitzustellen:
quelle
-g
Option definitiv verwendet und sichergestellt, dass während der Installation keine Fehler gedruckt wurden? Dieser Fehler bedeutet nur, dass er nach der Installation nicht gefunden werden kann, was unwahrscheinlich erscheint, wenn alles gut gelaufen ist. Auf welcher Plattform bist du? Führen Sie einen Suchbefehl auf Ihrem Laufwerk aus, um eine Datei mit Namen zu findenhttp-server
. Ich habe dies erfolgreich auf einigen verschiedenen Linux-Distributionen und Windows-Versionen verwendet.Ich empfehle: Twisted ( http://twistedmatrix.com )
Es ist plattformübergreifend und wurde unter OS X 10.5 bis 10.12 vorinstalliert. Unter anderem können Sie einen einfachen Webserver im aktuellen Verzeichnis starten mit:
Einzelheiten
Erläuterung der Optionen (siehe
twistd --help
mehr):"web" ist ein Befehl, der einen einfachen Webserver über der Twisted-Async-Engine ausführt. Es werden auch Befehlszeilenoptionen akzeptiert (nach dem Befehl "web" - siehe
twistd web --help
mehr):Es gibt auch eine Reihe anderer Befehle wie:
Installation
Ubuntu
Mac OS-X (wird unter 10.5 - 10.12 vorinstalliert oder ist in MacPorts und über Pip verfügbar)
Windows
HTTPS
Twisted kann auch Sicherheitszertifikate verwenden, um die Verbindung zu verschlüsseln. Verwenden Sie dies mit Ihren vorhandenen
--path
und--port
(für einfaches HTTP) Optionen.quelle
sudo apt-get install python-twisted-web
zuerst. (Danke für diese Antwort, es ist sehr praktisch!)twistd --help
und abrufentwistd web --help
. Ich habe eine Weile gebraucht, um das herauszufinden.gehen1.0 enthält einen http-Server und ein Dienstprogramm zum Bereitstellen von Dateien mit wenigen Codezeilen.
Führen Sie diese Quelle mit
go run myserver.go
oder aus, um eine ausführbare Datei zu erstellengo build myserver.go
quelle
Probieren Sie webfs aus , es ist winzig und hängt nicht davon ab, ob eine Plattform wie node.js oder python installiert ist.
quelle
apt-get install webfs
brew install webfs
auf meinem Mac gemacht, was dazu führte🍺 /usr/local/Cellar/webfs/1.21: 5 files, 96K, built in 15 seconds
. Danach könnte ich einfach sagenwebfsd -F -p 3003 -r resources/public/ -f index.html
, das gleiche zu erreichen wietwistd -no web -p 3003 --path=resources/public/
. Es ist ein bisschen wortreich, also nicht offensichtlich, aber gut zu wissen, als Alternative zu Twistd oder SimpleHTTPServer.Wenn Sie Mercurial verwenden, können Sie den integrierten HTTP-Server verwenden. In dem Ordner, den Sie bereitstellen möchten:
Aus den Dokumenten :
quelle
Hier ist ein anderes. Es ist eine Chrome-Erweiterung
Nach der Installation können Sie es ausführen, indem Sie eine neue Registerkarte in Chrome erstellen und oben links auf die Schaltfläche Apps klicken
Es hat eine einfache GUI. Klicken Sie auf Ordner auswählen und dann auf den
http://127.0.0.1:8887
Linkhttps://www.youtube.com/watch?v=AK6swHiPtew
quelle
Betrachten Sie devd auch als einen kleinen Webserver, der in go geschrieben ist. Binärdateien für viele Plattformen finden Sie hier .
Es ist klein, schnell und bietet einige interessante optionale Funktionen wie das Live-Neuladen, wenn sich Ihre Dateien ändern.
quelle
Ich fand es
python -m http.server
unzuverlässig - einige Antworten würden Sekunden dauern.Jetzt benutze ich einen Server namens Ran https://github.com/m3ng9i/ran
quelle
Probieren Sie Polpetta aus ...
dann kannst du
und du bist bereit zu gehen :-)
quelle
Verwenden von Servez als Server
http://localhost:8080
oder wählen Sie "Browser starten"Hinweis: Ich habe dies zusammengeschmissen, weil Web Server für Chrome nicht mehr verfügbar ist, da Chrome die Unterstützung für Apps entfernt, und weil ich Kunststudenten unterstütze, die keine Erfahrung mit der Befehlszeile haben
quelle
Ich mag Live-Server . Es ist schnell und hat eine nette Live-Reload-Funktion, die während der Entwicklung sehr praktisch ist.
Die Verwendung ist sehr einfach:
Standardmäßig wird ein Server mit IP 127.0.0.1 und Port 8080 erstellt.
http://127.0.0.1:8080/
Wenn Port 8080 nicht frei ist, wird ein anderer Port verwendet:
http://127.0.0.1:52749/
http://127.0.0.1:52858/
Wenn Sie den Webserver auf anderen Computern in Ihrem lokalen Netzwerk sehen müssen, können Sie Ihre IP-Adresse überprüfen und Folgendes verwenden:
Und hier ist ein Skript, das automatisch die IP-Adresse der Standardschnittstelle abruft. Es funktioniert nur unter MacOS .
Wenn Sie es eingeben, startet
.bash_profile
derlive-server
Befehl automatisch den Server mit der richtigen IP.quelle
Wenn Sie PHP installiert haben, können Sie den eingebauten Server verwenden.
quelle
Noch ein knotenbasierter einfacher Befehlszeilenserver
https://github.com/greggman/servez-cli
Teilweise als Antwort auf Probleme mit dem http-Server geschrieben, insbesondere unter Windows.
Installation
Installieren Sie dann node.js
Verwendung
Ohne Pfad wird der aktuelle Ordner bereitgestellt.
Standardmäßig dient es
index.html
für Ordnerpfade, falls vorhanden. Andernfalls wird eine Verzeichnisliste für Ordner bereitgestellt. Es dient auch CORS-Header. Sie können optional die Basisauthentifizierung mit--username=somename --password=somepass
aktivieren und https bereitstellen.quelle