Setting up a local web server with Python

Cover Image

Setting up a Local Web Server with Python: It's Easier Than You Think!

Hey Linux enthusiasts! Ever wanted to quickly spin up a local web server for testing out some HTML, playing with APIs, or just generally tinkering around? Python's got your back! Forget complicated setups; with a single command, you can be serving files in minutes. Let's dive in!

Why Use Python for a Local Web Server?

There are plenty of ways to serve web content, but Python offers a ridiculously simple method. Here's why it's awesome:

  • Simplicity: As mentioned, it's a single command. Seriously.
  • Availability: Python comes pre-installed on most Linux distributions.
  • Convenience: Perfect for quick prototyping and local testing.

The Magic Command: python3 -m http.server

This is it! This is the command that will change your local development life.

Open your terminal and navigate to the directory you want to serve. For example, if you have a folder called "mywebsite" with your HTML files inside, cd into that folder:

cd mywebsite

Now, simply run:

python3 -m http.server

By default, this will start a web server on port 8000. You'll see output similar to:

Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

Congratulations! You're now serving your website locally!

Accessing Your Website

Open your web browser and go to:

http://localhost:8000

Or:

http://127.0.0.1:8000

You should see your website displayed in your browser.

Changing the Port

Want to use a different port? No problem! Just add the port number after the command:

python3 -m http.server 8080

This will start the server on port 8080, so you'll access it at http://localhost:8080.

A Quick Example

Let's create a simple index.html file:


<!DOCTYPE html>
<html>
<head>
  <title>My Local Website</title>
</head>
<body>
  <h1>Hello from my Local Python Web Server!</h1>
  <p>This is a simple example.</p>
</body>
</html>

Save this file as index.html in the directory you're serving, and you'll see "Hello from my Local Python Web Server!" when you access http://localhost:8000 (or whatever port you're using).

Stopping the Server

To stop the server, simply press Ctrl+C in your terminal.

That's It!

Setting up a local web server with Python is incredibly easy. This simple technique is invaluable for web development, testing, and experimenting. Go forth and create!