Creëer een Instant Web Server via Terminal Command Line en Python

Inhoudsopgave:

Anonim

Wilt u snel een bestand delen, code testen of iets uitzenden? Je kunt direct een webserver maken uit de huidige map door niets anders te gebruiken dan python, yup, geen apache, geen nginx, geen litespeed, allemaal python, dat tegenwoordig met vrijwel elke Unix-variant wordt geleverd. De opdracht is opmerkelijk eenvoudig als je bedenkt hoe nuttig het is, en test het zelf uit door een Terminal-venster en een willekeurige webbrowser te openen.

Deze truc start direct een eenvoudige webserver met niets anders dan python, het werkt in Mac OS X, Linux, FreeBSD en alle ander unix-platform met python.

Een Instant Web Server starten met Python

Om de instant-webserver vanaf de opdrachtregel te maken, typt u het volgende in de map die u toegankelijk wilt maken via browsers en HTTP:

Start een eenvoudige webserver in Python 2

python -m SimpleHTTPServer

Start Simple Web Server in Python 3

python -m http.server

Hierdoor wordt de huidige map onmiddellijk als een webserver gepubliceerd, dus als u een index.html-bestand hebt dat onmiddellijk wordt weergegeven, anders wordt alleen de inhoud van de map weergegeven op uw localhost IP of " 0.0.0.0". Merk op dat poort 8000 de standaard poortinstelling is voor deze functie, wat inhoudt dat om toegang te krijgen tot de webserver vanuit een browser het volgende adres moet worden ingevoerd: http://0.0.0.0:8000

Onthoud dat zonder een index.htm- of index.html-bestand in de directory, in plaats daarvan een eenvoudige directorylijst van de CWD/PWD in de browser zou verschijnen.

Als de terminal eenmaal draait, wordt hij bijgewerkt als pagina's en gegevens worden geladen van de python-webserver, met standaard http-loggegevens zoals GET- en PUSH-verzoeken, welke bestanden worden geopend en door wie, 404-fouten, IP-adressen, datums, tijden en alles wat u zou verwachten van een standaard http-logboek alsof u een apache-toegangslogbestand volgt.

Je kunt liefhebber worden als je wilt en een poort specificeren, waardoor de webserver een zekere mate van onduidelijkheid krijgt als je hoopt iets alleen naar een specifiek individu uit te zenden, of als je dat gewoon niet doet Ik wil niet dat het op een standaard 8000-portscan verschijnt.Het enige dat u hoeft te doen, is een poortnummer opgeven aan het einde van de bovengenoemde opdracht, zoals:

python -m SimpleHTTPServer 4104

Hierdoor wordt de webserver gestart in de huidige directory op het IP-adres met poort 4104, laten we bijvoorbeeld het localhost-IP aannemen: http://127.0.0.1:4104, of http:// 0.0.0.0:4104 afhankelijk van je instellingen.

Dit is een erg handige tip als je snel aan webontwikkeling doet en het meteen in een browser wilt controleren of aan iemand anders wilt laten zien, en je geen tijd wilt nemen om sftp of zet het vast in een repository. Dit zou moeten werken op elke Unix-variant van het besturingssysteem, inclusief FreeBSD, Linux, Ubuntu, Redhat en natuurlijk is Mac OS X ook inbegrepen.

De onderstaande video demonstreert een python-server die wordt gestart in een map met een eenvoudig index.html-bestand, het laat ook zien hoe het lopende python-commando weergeeft wat er gebeurt met de http-verbinding zoals een normale http-server log zou:

Laat het ons weten als je bijzonder waardevol gebruik of aanvullende geheimen vindt voor deze geweldige kleine truc.

Creëer een Instant Web Server via Terminal Command Line en Python