Déploiement de Django avec Gunicorn

Gunicorn (« Green Unicorn ») est un serveur WSGI en pur Python pour UNIX. Il n’a aucune dépendance et est simple d’installation et d’utilisation.

Il existe deux façons d’utiliser Gunicorn avec Django. L’une est d’indiquer à Gunicorn de traiter Django comme toute autre application WSGI. La seconde est d’utiliser le mode Gunicorn spécial d’intégration avec Django.

Installation de Gunicorn

L’installation de Gunicorn est aussi simple que sudo pip install gunicorn. Pour plus de détails, consultez la documentation de Gunicorn.

Django dans Gunicorn comme application WSGI générique

Lorsque Gunicorn est installé, une commande gunicorn est disponible ; elle lance le processus du serveur Gunicorn. En faisant au plus simple, Gunicorn a juste besoin d’être appelé avec l’emplacement d’un objet applicatif WSGI :

gunicorn [OPTIONS] APP_MODULE

… où APP_MODULE correspond au motif NOM_MODULE:NOM_VARIABLE. Le nom de module doit être un chemin complet avec la syntaxe pointée. Le nom de variable se réfère à un exécutable WSGI qui devrait se trouver dans le module indiqué.

Ainsi, pour un projet Django typique, l’invocation de Gunicorn pourrait ressembler à ceci :

gunicorn myproject.wsgi:application

(Cela implique que votre projet soit dans le chemin Python ; la façon la plus simple de s’en assurer est de lancer cette commande depuis le même répertoire que le fichier manage.py.)

Utilisation de l’intégration Django dans Gunicorn

Note

Si vous utilisez Django 1.4 ou plus récent, il est vivement recommandé de simplement faire fonctionner votre application par l’interface WSGI en utilisant la commande gunicorn telle que décrite ci-dessus.

Pour utiliser l’intégration Django dans Gunicorn, ajoutez d’abord "gunicorn" dans INSTALLED_APPS. Puis, lancez python manage.py run_gunicorn.

Cela permet quelques avantages spécifiques à Django :

  • définit le nom de processus gunicorn à celui de votre projet

  • valide les modèles installés

  • permet l’option --adminmedia pour indiquer l’emplacement des fichiers statiques de l’interface d’administration.

Consultez la documentation du déploiement de Gunicorn pour tout conseil supplémentaire concernant le lancement et la maintenance du serveur Gunicorn.