如何使用 Django 與 Uvicorn

Uvicorn 是一個基於 uvloophttptools 的 ASGI 伺服器,著重於速度。

安裝 Uvicorn

您可以使用 pip 安裝 Uvicorn

python -m pip install uvicorn

在 Uvicorn 中執行 Django

當 Uvicorn 安裝完成後,會提供一個 uvicorn 指令,用於執行 ASGI 應用程式。Uvicorn 需要調用一個包含 ASGI 應用程式物件的模組位置,接著是應用程式的名稱(以冒號分隔)。

對於典型的 Django 專案,調用 Uvicorn 看起來會像這樣:

python -m uvicorn myproject.asgi:application

這將會啟動一個監聽 127.0.0.1:8000 的處理程序。它要求您的專案必須在 Python 路徑上;為了確保這一點,請從您的 manage.py 檔案所在的相同目錄執行此命令。

在開發模式下,您可以加入 --reload,使伺服器在磁碟上的檔案發生變更時重新載入。

如需更多進階使用方式,請閱讀 Uvicorn 文件

使用 Uvicorn 和 Gunicorn 部署 Django

Gunicorn 是一個穩健的網頁伺服器,實作了處理程序監控和自動重新啟動。這在生產環境中執行 Uvicorn 時會很有用。

要安裝 Uvicorn 和 Gunicorn,請使用以下命令:

python -m pip install uvicorn uvicorn-worker gunicorn

然後像這樣使用 Uvicorn 工作類別啟動 Gunicorn:

python -m gunicorn myproject.asgi:application -k uvicorn_worker.UvicornWorker
返回頂端