如何在Uvicorn中使用Django

Uvicorn 是一个ASGI服务器,基于 uvloophttptools ,注重速度。

安装Uvicorn

您可以使用安装Uvicorn pip

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 documentation

使用Uvicorn和Gunicorn部署Django

Gunicorn 是一款强大的Web服务器,可实现进程监控和自动重启。当在生产环境中运行Uvicorn时,这可能很有用。

要安装Uvicorn和Gunicorn,请使用以下命令:

python -m pip install uvicorn uvicorn-worker gunicorn

然后使用Uvicorn Worker类启动Gunicorn,如下所示:

python -m gunicorn myproject.asgi:application -k uvicorn_worker.UvicornWorker