Gunicorn (‘Green Unicorn’) is a pure-Python WSGI server for UNIX. It has no dependencies and is easy to install and use.
There are two ways to use Gunicorn with Django. One is to have Gunicorn treat Django as just another WSGI application. The second is to use Gunicorn’s special integration with Django.
Installing gunicorn is as easy as sudo pip install gunicorn. For more details, see the gunicorn documentation.
When Gunicorn is installed, a gunicorn command is available which starts the Gunicorn server process. At its simplest, gunicorn just needs to be called with a the location of a WSGI application object.:
gunicorn [OPTIONS] APP_MODULE
Where APP_MODULE is of the pattern MODULE_NAME:VARIABLE_NAME. The module name should be a full dotted path. The variable name refers to a WSGI callable that should be found in the specified module.
So for a typical Django project, invoking gunicorn would look like:
gunicorn myproject.wsgi:application
(This requires that your project be on the Python path; the simplest way to ensure that is to run this command from the same directory as your manage.py file.)
To use Gunicorn’s built-in Django integration, first add "gunicorn" to INSTALLED_APPS. Then run python manage.py run_gunicorn.
This provides a few Django-specific niceties:
See Gunicorn’s deployment documentation for additional tips on starting and maintaining the Gunicorn server.
Dec 23, 2012