如何使用 Django 与 Uvicorn¶
Uvicorn 是一个基于 uvloop
和 httptools
的 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 是一个强大的 Web 服务器,它实现了进程监控和自动重启。在生产环境中运行 Uvicorn 时,这可能很有用。
要安装 Uvicorn 和 Gunicorn,请使用以下命令
python -m pip install uvicorn uvicorn-worker gunicorn
然后使用 Uvicorn 工作进程类启动 Gunicorn,如下所示
python -m gunicorn myproject.asgi:application -k uvicorn_worker.UvicornWorker