Python Apache Web Server

Posted on  by admin

A webserver in Python can be setup in two ways. Python supports a webserver out of the box. You can start a web server with a one liner.

  • The default type of the DBM authentication database used by the Apache HTTP Server in RHEL 8 has been changed from SDBM to db5. The modwsgi module for the Apache HTTP Server has been updated to Python 3. WSGI applications are now supported only with Python 3, and must be migrated from Python 2.
  • This is often running full web server software such as Apache or Nginx, or is a lightweight application server that can communicate with a webserver, such as flup. The application/framework side. This is a Python callable, supplied by the Python program or framework.

But you can also create a custom web server which has unique functionality. In this article you’ll learn how to do that.


The web server in this example can be accessed on your local network only. This can either be localhost or another network host. You could serve it cross location with a vpn.

Enter the command to start up the server in that directory: # If Python version returned above is 3.X python3 -m http.server # On windows try 'python' instead of 'python3', or 'py -3' # If Python version returned above is 2.X python -m SimpleHTTPServer; By default, this will run the contents of the directory on a local web server, on port 8000.

Related course:Complete Python Programming Course & Exercises


Builtin webserver

To start a webserver run the command below:

That will open a webserver on port 8080. You can then open your browser at

The webserver is also accessible over the network using your 192.168.-.- address.

This is a default server that you can use to download files from the machine.

Python And Apache Web Server

Web server

Run the code below to start a custom web server. To create a custom web server, we need to use the HTTP protocol.

By design the http protocol has a “get” request which returns a file on the server. If the file is found it will return 200.

The server will start at port 8080 and accept default web browser requests.

If you open an url like the method do_GET() is called. We send the webpage manually in this method.

Python Web Server In Apache

The variable self.path returns the web browser url requested. In this case it would be /example