From 022a864a5d1de28b853f009566a24be251e90d96 Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Wed, 26 Oct 2022 02:51:15 -0700 Subject: [PATCH] Fixed #34109 -- Updated instructions for running with Uvicorn. Co-authored-by: Paolo Melchiorre --- docs/howto/deployment/asgi/uvicorn.txt | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/docs/howto/deployment/asgi/uvicorn.txt b/docs/howto/deployment/asgi/uvicorn.txt index 148edc29ea..bcee952ea1 100644 --- a/docs/howto/deployment/asgi/uvicorn.txt +++ b/docs/howto/deployment/asgi/uvicorn.txt @@ -12,7 +12,7 @@ Installing Uvicorn You can install Uvicorn with ``pip``:: - python -m pip install uvicorn gunicorn + python -m pip install uvicorn Running Django in Uvicorn ========================= @@ -24,12 +24,30 @@ called (separated by a colon). For a typical Django project, invoking Uvicorn would look like:: - gunicorn myproject.asgi:application -k uvicorn.workers.UvicornWorker + python -m uvicorn myproject.asgi:application This will start one process listening on ``127.0.0.1:8000``. It requires that your project be on the Python path; to ensure that run this command from the same directory as your ``manage.py`` file. +In development mode, you can add ``--reload`` to cause the server to reload any +time a file is changed on disk. + For more advanced usage, please read the `Uvicorn documentation `_. +Deploying Django using Uvicorn and Gunicorn +=========================================== + +Gunicorn_ is a robust web server that implements process monitoring and automatic +restarts. This can be useful when running Uvicorn in a production environment. + +To install Uvicorn and Gunicorn, use the following:: + + python -m pip install uvicorn gunicorn + +Then start Gunicorn using the Uvicorn worker class like this:: + + python -m gunicorn myproject.asgi:application -k uvicorn.workers.UvicornWorker + .. _Uvicorn: https://www.uvicorn.org/ +.. _Gunicorn: https://gunicorn.org/