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.
L’installation de Gunicorn est aussi simple que sudo pip install gunicorn. Pour plus de détails, consultez la documentation de Gunicorn.
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.)
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.
Jan 13, 2016