Opprett en Instant Web Server via Terminal Command Line og Python

Vil du raskt dele en fil, teste noen kode, eller kringkaste noe? Du kan øyeblikkelig opprette en webserver ut av gjeldende katalog ved å bruke noe annet enn python, yup, no apache, no nginx, no litespeed, all python, som skifter stort sett hver unix variasjon i disse dager. Kommandoen er bemerkelsesverdig enkel med tanke på hvor nyttig det er, og teste det selv åpner et Terminal-vindu og en hvilken som helst nettleser.

Dette trikset starter en enkel webserver med ingenting annet enn python, det fungerer i Mac OS X, Linux, FreeBSD og enhver annen unix-plattform som har python.

Slik starter du en øyeblikkelig webserver med Python

For å opprette den øyeblikkelige webserveren fra kommandolinjen, skriv inn følgende i hvilken katalog du vil ha tilgjengelig via nettlesere og HTTP:

Start en enkel webserver i Python 2

python -m SimpleHTTPServer

Start Simple Web Server i Python 3

python -m http.server

Dette vil publisere den nåværende katalogen som en webserver umiddelbart, så hvis du har en index.html fil som umiddelbart vises, ellers vil det bare oppgi kataloginnholdet på enten your localhost IP eller "0.0.0.0". Merk at port 8000 er standardportinnstillingen for denne funksjonen, noe som betyr at du får tilgang til webserveren fra en nettleser, en vil skrive inn følgende adresse: http://0.0.0.0:8000

Husk, uten en index.htm eller index.html-fil i katalogen, vil en enkel katalogoppføring av CWD / PWD vises i stedet for nettleseren.

Når du kjører, oppdateres terminalen som sider og data lastes fra pythons webserver, og viser standard http-loggingsinformasjon som GET og PUSH-forespørsler, hvilke filer som er tilgjengelige og av hvem, 404 feil, IP-adresser, datoer, tider og alt du forventer fra en standard http-logg som om du var tailing en apache tilgang loggfil.

Du kan bli mer avansert hvis du vil ha og spesifisere en port, noe som gir noe uklarhet til webserveren hvis du håper å bare kringkaste noe til et bestemt individ, eller hvis du bare ikke vil at den skal vises på en standard 8000 portscan. Alt du trenger å gjøre er å spesifisere et portnummer på slutten av den nevnte kommandoen, slik som:

python -m SimpleHTTPServer 4104

Dette ville gjøre webserverens lansering i den nåværende katalogen ved IP med port 4104, for eksempel, la oss anta lokalhost-IP: http://127.0.0.1:4104, eller http://0.0.0.0:4104 avhengig av din innstillinger.

Dette er et veldig nyttig tips hvis du gjør litt rask webutvikling og vil umiddelbart sjekke den i en nettleser eller vise den til noen andre, og du vil ikke ta deg tid til å sftp eller forplikte den til et lager. Dette bør fungere på alle Unix variant OS, inkludert FreeBSD, Linux, Ubuntu, Redhat, og selvfølgelig er Mac OS X også inkludert.

Videoen nedenfor viser at en python-server lanseres i en katalog med en enkel index.html-fil, og viser også hvordan den kjørende python-kommandoen gjenspeiler hva som skjer med http-forbindelsen som en vanlig http-serverlogg, ville:

Gi oss beskjed hvis du finner noen spesielt verdifulle bruksområder eller ekstra hemmeligheter for dette flotte lille trikset.