Erstellen Sie einen Instant Web Server über Terminal Command Line und Python
Möchten Sie schnell eine Datei freigeben, Code testen oder etwas übertragen? Sie können sofort einen Webserver aus dem aktuellen Verzeichnis erstellen, indem Sie nichts außer python, yup, no apache, nginx, litespeed, all python verwenden, das mit so ziemlich jeder Unix-Variante ausgeliefert wird. Der Befehl ist bemerkenswert einfach, wenn man bedenkt, wie nützlich er ist, und testen Sie es selbst. Öffnen Sie ein Terminal-Fenster und einen beliebigen Webbrowser.
Dieser Trick startet einen einfachen Webserver sofort mit nichts außer Python, er funktioniert in Mac OS X, Linux, FreeBSD und jeder anderen Unix-Plattform, die Python hat.
Wie starte ich einen Instant Web Server mit Python?
Um den Instant-Web-Server über die Befehlszeile zu erstellen, geben Sie Folgendes in das Verzeichnis ein, auf das Sie über Browser und HTTP zugreifen möchten:
Starten Sie einen einfachen Webserver in Python 2
python -m SimpleHTTPServer
Starten Sie Simple Web Server in Python 3
python -m http.server
Dadurch wird das aktuelle Verzeichnis sofort als Webserver veröffentlicht. Wenn Sie also eine index.html-Datei haben, die sofort angezeigt wird, wird der Verzeichnisinhalt nur auf Ihrer IP-Adresse localhost oder "0.0.0.0" aufgelistet. Beachten Sie, dass Port 8000 die Standard-Port-Einstellung für diese Funktion ist, dh, um von einem Browser auf den Webserver zuzugreifen, würde man die folgende Adresse eingeben: http://0.0.0.0:8000
Denken Sie daran, dass ohne eine Datei index.htm oder index.html im Verzeichnis eine einfache Verzeichnisliste der CWD / PWD stattdessen für den Browser angezeigt würde.
Sobald das Terminal ausgeführt wird, wird es aktualisiert, sobald Seiten und Daten vom Python-Webserver geladen werden. Es werden Standard-HTTP-Protokollierungsinformationen wie GET- und PUSH-Anforderungen angezeigt, auf welche Dateien zugegriffen wird und von wem, 404-Fehler, IP-Adressen, Daten, Zeiten und all das, was Sie von einem Standard-HTTP-Protokoll erwarten würden, als ob Sie eine Apache-Zugriffsprotokolldatei erstellen würden.
Wenn Sie möchten, können Sie einen Port auswählen und einen Port angeben, der dem Webserver eine gewisse Unklarheit verleiht, wenn Sie nur etwas an eine bestimmte Person senden möchten, oder wenn Sie nicht möchten, dass es auf einem Server angezeigt wird Standard 8000 Portscan. Alles was Sie tun müssen, ist eine Portnummer am Ende des oben genannten Befehls anzugeben:
python -m SimpleHTTPServer 4104
Dadurch würde der Webserver im aktuellen Verzeichnis an der IP-Adresse mit Port 4104 gestartet. Als Beispiel nehmen wir die IP-Adresse des lokalen Hosts an: http://127.0.0.1:4104 oder http://0.0.0.0:4104 die Einstellungen.
Dies ist ein sehr nützlicher Tipp, wenn Sie eine schnelle Webentwicklung durchführen und diese sofort in einem Browser überprüfen oder einer anderen Person zeigen möchten. Sie möchten sich nicht die Zeit nehmen, sie zu sftp zu übertragen oder in ein Repository zu schreiben. Dies sollte auf jedem Unix-Betriebssystem funktionieren, einschließlich FreeBSD, Linux, Ubuntu, Redhat und natürlich auch Mac OS X.
Das Video unten zeigt einen Python-Server, der in einem Verzeichnis mit einer einfachen index.html-Datei gestartet wird, und zeigt auch, wie der laufende Python-Befehl das Geschehen mit der HTTP-Verbindung widerspiegelt:
Lassen Sie uns wissen, wenn Sie besonders nützliche Anwendungen oder zusätzliche Geheimnisse für diesen tollen kleinen Trick finden.