WSGI (see yesterday’s talk on python 3 and wsgi) is the gateway between a web server and a python application. An actual WSGI call is pretty simple.
The main usage of WSGI for Django is as a way to deploy your Django apps. Other things you can think about:
Deploying inside a web server: there are basically two choices:
apt-get install libapache2-mod-wsgi).
An alternative is to run a wsgi server.
Ruby’s Unicorn is pretty awesome. It is used by github, for instance. He needed something stable and something simple: for python. So gunicorn (“green unicorn”, a kind of rat snake) was born. Philosophy: simple, minimal, performant, unix. It is performant; for instance Sweden’s largest blog provider http://blogg.se uses it.
Gunicorn allows you to send signals (“kill” command on linux) to the process. Not only for restarting itself, but even for increasing or decreasing the number of worker processes. All without losing connections (one of the initial design goals).
There are tuning tips for gunicorn and your os at http://gunicorn.org/tuning.html .
My name is Reinout van Rees and I work a lot with Python (programming language) and Django (website framework). I live in The Netherlands and I'm happily married to Annie van Rees-Kooiman.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):