如何使用 Uvicorn 托管 Django

Uvicorn 是一个基于 uvloophttptools 的加强运行速度的ASGI服务器。

安装Uvicorn

You can install Uvicorn with pip:

  1. python -m pip install uvicorn

在 Uvicorn 中运行 Django

一旦 Uvicorn 安装完毕,你就可用 uvicorn 命令来运行ASGI应用了。Uvicorn 运行需要包含一个 ASGI 应用程序模块的位置和应用程序的名称(以冒号分隔)。

对于一个典型的 Django 项目,调用 Uvicorn 的方式如下:

  1. python -m uvicorn myproject.asgi:application

它将开启一个进程,监听 127.0.0.1:8000。这需要你的项目位于 Python path 上。为了确保这点,你应该在与 manage.py 文件相同的路径中运行这个命令。

In development mode, you can add --reload to cause the server to reload any time a file is changed on disk.

有关更多的高级用法,请参阅 Uvicorn documentation 1.

使用 Uvicorn 和 Gunicorn 部署 Django 应用

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

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

  1. python -m pip install uvicorn gunicorn

然后像这样使用 Uvicorn worker 类启动 Gunicorn :

  1. python -m gunicorn myproject.asgi:application -k uvicorn.workers.UvicornWorker