Comment utiliser Django avec Uvicorn¶
Uvicorn est un serveur ASGI basé sur uvloop
et httptools
, avec un accent sur la vitesse.
Lancement de Django dans Uvicorn¶
Lorsque Uvicorn est installé, une commande uvicorn
est disponible qui exécute des applications ASGI. Uvicorn a besoin d’être appelé avec l’emplacement d’un module contenant un objet d’application ASGI, suivi par le nom donné à l’application (séparés par un deux-points).
Pour un projet Django typique, l’invocation de Uvicorn pourrait ressembler à ceci :
python -m uvicorn myproject.asgi:application
Cela démarrera un processus écoutant sur 127.0.0.1: 8000
. Il faut que votre projet soit dans le chemin Python ; pour s’en assurer, exécutez cette commande dans le même répertoire que votre fichier manage.py
.
En mode développement, vous pouvez ajouter --reload
pour faire redémarrer le serveur à chaque modification de fichier sur le disque.
Pour une utilisation plus avancée, lisez la documentation Uvicorn.
Déploiement de Django avec Uvicorn et Gunicorn¶
Gunicorn est un serveur web robuste qui offre la surveillance des processus et les redémarrages automatiques. Cela peut être utile lors de l’exécution d’Uvicorn dans un environnement de production.
Pour installer Uvicorn et Gunicorn, écrivez ce qui suit :
python -m pip install uvicorn uvicorn-worker gunicorn
Puis lancez Gunicorn au moyen de la classe de travail d’Uvicorn comme ceci :
python -m gunicorn myproject.asgi:application -k uvicorn_worker.UvicornWorker