Opret en Instant Web Server via Terminal Command Line og Python

Vil du hurtigt dele en fil, teste nogle kode eller sende noget? Du kan øjeblikkeligt oprette en webserver ud af den nuværende mappe ved at bruge andet end python, yup, no apache, no nginx, no litespeed, all python, som skib med stort set hver unix variation i disse dage. Kommandoen er bemærkelsesværdigt enkel i betragtning af, hvor nyttig det er, og teste det selv åbner et Terminal vindue og enhver webbrowser.

Dette trick starter øjeblikkeligt med en simpel webserver med ikke andet end python, det virker i Mac OS X, Linux, FreeBSD og enhver anden unix-platform, der har python.

Sådan starter du en instant webserver med Python

Hvis du vil oprette den øjeblikkelige webserver fra kommandolinjen, skal du skrive følgende i hvilken mappe du vil have adgang via browsere og HTTP:

Start en simpel webserver i Python 2

python -m SimpleHTTPServer

Start Simple Web Server i Python 3

python -m http.server

Dette vil offentliggøre den aktuelle mappe som en webserver med det samme, så hvis du har en index.html-fil, der straks vises, ellers vil den bare liste bibliotekets indhold på enten your localhost IP eller "0.0.0.0". Bemærk, at port 8000 er standardportindstillingen for denne funktion, hvilket betyder at du får adgang til webserveren fra en browser, som du vil indtaste følgende adresse: http://0.0.0.0:8000

Husk, at uden en indeks.htm eller index.html-fil i mappen, vises en simpel katalogliste over CWD / PWD i stedet for browseren.

Når kørslen er kørt, opdateres terminalen som sider og data indlæses fra python webserveren og viser standard http logging oplysninger som GET og PUSH anmodninger, hvilke filer der bliver adgang til og af hvem, 404 fejl, IP adresser, datoer, tider og alt, hvad du ville forvente af en standard http-log, som om du var tailing en apache adgang logfil.

Du kan få mere avanceret, hvis du vil have og specificere en havn, hvilket giver en vis uklarhed til webserveren, hvis du håber at kun sende noget til en bestemt person, eller hvis du bare ikke vil have det på en standard 8000 portscan. Alt du skal gøre er at angive et portnummer i slutningen af ​​den ovennævnte kommando, som sådan:

python -m SimpleHTTPServer 4104

Dette ville gøre webserverens lancering i den nuværende mappe ved IP med port 4104, for eksempel lad os antage lokalhost-IP: http://127.0.0.1:4104 eller http://0.0.0.0:4104 afhængigt af din indstillinger.

Dette er et meget praktisk tip, hvis du laver en hurtig webudvikling og vil straks tjekke den i en browser eller vise den til en anden, og du vil ikke tage tid til sftp eller forpligte den til et depot. Dette skal fungere på alle Unix variant OS, herunder FreeBSD, Linux, Ubuntu, Redhat, og selvfølgelig er Mac OS X også inkluderet.

Videoen nedenfor viser, at en python-server lanceres i en mappe med en simpel index.html-fil, og det viser også, hvordan kørende python-kommandoen afspejler, hvad der foregår med http-forbindelsen som en normal http-server log ville:

Lad os vide, om du finder nogen særligt værdifulde anvendelser eller ekstra hemmeligheder til dette store lille trick.