如何使用 Uvicorn 托管 Django¶
Uvicorn 是一个基于 uvloop
和 httptools
的加强运行速度的ASGI服务器。
在 Uvicorn 中运行 Django¶
一旦 Uvicorn 安装完毕,你就可用 uvicorn
命令来运行ASGI应用了。Uvicorn 运行需要包含一个 ASGI 应用程序模块的位置和应用程序的名称(以冒号分隔)。
对于一个典型的 Django 项目,调用 Uvicorn 的方式如下:
python -m uvicorn myproject.asgi:application
它将开启一个进程,监听 127.0.0.1:8000
。这需要你的项目位于 Python path 上。为了确保这点,你应该在与 manage.py
文件相同的路径中运行这个命令。
在开发模式下,你可以添加 --reload
选项,以便在磁盘上的文件发生更改时重新加载服务器。
有关更多的高级用法,请参阅 Uvicorn documentation 1.
使用 Uvicorn 和 Gunicorn 部署 Django 应用¶
Gunicorn 是一个强大的 Web 服务器,实现了进程监控和自动重启。在生产环境中运行 Uvicorn 时,这非常有用。
要安装 Uvicorn 和 Gunicorn,请使用以下命令:
python -m pip install uvicorn gunicorn
然后像这样使用 Uvicorn worker 类启动 Gunicorn :
python -m gunicorn myproject.asgi:application -k uvicorn.workers.UvicornWorker