What does it do?
Gunicorn’s whole job is to take a Python web application and keep it running smoothly under real traffic, spinning up multiple worker processes so one slow visitor doesn’t freeze the site for everyone else. Picture a restaurant with several servers on the floor instead of just one — if one table takes forever to decide, the other tables still get served. It doesn’t build the website itself; it makes sure the website someone else built, often with Django or Flask, stays up and responsive.
See it in action
This shows a basic website file along with the terminal command used to hand that website over to Gunicorn, which keeps it running reliably for visitors.
def app(environ, start_response):
start_response("200 OK", [("Content-Type", "text/plain")])
return [b"Hello, world!"]
# Save this as app.py, then start it from a terminal with:
# gunicorn app:app
Why would a non-developer care?
Almost every deployment guide for a Python website eventually tells you to hand your app to Gunicorn — the unseen layer standing between a working app on a laptop and a working app the public can actually visit. Without it, sites built with frameworks like Django would struggle to handle more than one visitor gracefully.
Real-world examples
Gunicorn has quietly run behind a huge share of production Django and Flask deployments for over a decade because it just works and rarely needs fussing over. Without a process manager like this, one slow database query from a single user could stall the entire site for every other visitor at once.
Who uses it
Anyone deploying a Django or Flask website to a real server rather than just running it on their own laptop.
How it compares to alternatives
Gunicorn is the WSGI-world equivalent of Uvicorn, which handles newer async ASGI frameworks; where Gunicorn manages multiple worker processes, it’s often paired with Uvicorn in hybrid setups that need both process management and async performance.
Fun fact
Gunicorn stands for ‘Green Unicorn,’ and it was deliberately designed as a Python port of Unicorn, a popular server from the Ruby on Rails world.