How Do I Setup a Python Web Server?


Angela Bailey

Setting up a Python Web Server

Python is a powerful and versatile programming language that is widely used in web development. With Python, you can easily create a web server to host your own website or web application. In this tutorial, we will walk you through the steps to set up a Python web server.


In order to set up a Python web server, you will need to have Python installed on your machine. You can download the latest version of Python from the official website and follow the installation instructions for your operating system. Once you have Python installed, you can proceed with the following steps.

Step 1: Creating a Simple Web Server

To create a basic web server in Python, we will be using the built-in http.server module. This module provides all the necessary functionality to serve files over HTTP. Open your favorite text editor and create a new file called

In, add the following code:

import http.server
import socketserver

# Define the port number
PORT = 8000

# Create an HTTP request handler class
class MyHandler(http.server.SimpleHTTPRequestHandler):
    # Override the default do_GET method
    def do_GET(self):
        # Set the response status code
        # Set the Content-type header
        self.send_header('Content-type', 'text/html')
        # End headers
        # Send HTML content as response body
        self.wfile.write(b'Hello World!')

# Create an instance of the HTTPServer class with our custom handler
with socketserver.TCPServer(('', PORT), MyHandler) as httpd:
    print(f'Serving at port {PORT}')
    # Start the server

This code creates a simple web server that listens on port 8000 and responds with a “Hello World!” message. Save the file and navigate to its location in your terminal or command prompt.

Step 2: Starting the Web Server

To start the web server, run the following command in your terminal or command prompt:


If everything is set up correctly, you should see the message “Serving at port 8000” printed in your console. This means that the web server is running and ready to serve requests.

Step 3: Testing the Web Server

To test if the web server is working, open your web browser and navigate to http://localhost:8000. You should see a page displaying the text “Hello World!”.

Congratulations! You have successfully set up a Python web server.


The default behavior of this simple web server is to serve files from the current directory. If you want to serve files from a specific directory, you can modify the MyHandler class’s do_GET() method accordingly.

Closing Thoughts

In this tutorial, we learned how to set up a Python web server using the http. We created a basic web server that responds with a simple message. You can now use this knowledge as a starting point to build more complex web servers or serve dynamic content with Python.

  • Bold text: used for highlighting important information.
  • Underlined text: used for emphasizing key points.
  • Lists: used to present steps and notes in a concise manner.
  • Subheaders: used to organize the content and improve readability.