Come utilizzare Django con Uvicorn¶
Uvicorn è un server ASGI basato su uvloop
e httptools
, con enfasi sulla velocità.
Avviare Django in Uvicorn¶
Quando Uvicorn è installato, è disponibile un comando uvicorn
, che fa girare le applicazioni ASGI. Uvicorn necessita di essere chiamato dalla locazione di un modulo contenente un oggetto di applicazione ASGI, seguito da come si chiama l’applicazione (separati dai due punti).
In un tipico progetto Django, avviare Uvicorn in questo modo:
python -m uvicorn myproject.asgi:application
Questo avvierà il processo che ascolta su 127.0.0.1:8000
. Richiede che il tuo progetto sia sul percorso di Python; per assicurartene, lancia questo comando dalla stessa directory del tuo file manage.py
.
In development mode, you can add --reload
to cause the server to reload any
time a file is changed on disk.
Per utilizzi più avanzati, leggi la documentazione di Uvicorn.
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