UX Design and Development course

Python Simple HTTP Server

Source

If you need a quick web server running and you don't want to mess with setting up apache or something similar, then Python can help. Python comes with a simple built in HTTP server. With the help of this little HTTP server you can turn any directory in your system into your web server directory. The only thing you need to have installed is Python.

Practically speaking this is very useful to share files inside your local network. Implementing this tiny but hugely useful HTTP server is very simple, its just a single line command.

Open up a terminal and type:

$ cd /home/somedir
$ python -m SimpleHTTPServer

That's it! Now your http server will start in port 8000. You will get the message:

Serving HTTP on 0.0.0.0 port 8000 ...

Now open a browser and type the following address:

http://localhost:8000

If the directory has a file named index.html, that file will be served as the initial file. If there is no index.html, then the files in the directory will be listed.

If you wish to change the port that's used start the program via:

$ python -m SimpleHTTPServer 8080

Create an alias

In your .bash_profile or .bashrc, add a simple alias to quickly activate the Python server. You cam also add \$@ as this will allow you to pass in the alternate port number.

alias pyserver="python -m SimpleHTTPServer \$@"

Then to activate the server, in your Bash you can run:

$ pyserver

or

$ pyserver 8090