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:
--adminmedia
option for passing in the location of the
admin media files, mimicing the behavior of runserver.See Gunicorn’s deployment documentation for additional tips on starting and maintaining the Gunicorn server.
Sep 27, 2017