---
title: "如何使用 Uvicorn 托管 Django"
version: 4.2
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/4.2/howto/deployment/asgi/uvicorn/
canonical: https://djangodocs.dev/zh-hans/4.2/howto/deployment/asgi/uvicorn/
---
# 如何使用 Uvicorn 托管 Django

[Uvicorn](https://www.uvicorn.org/) 是一个基于 `uvloop` 和 `httptools` 的加强运行速度的ASGI服务器。

## 安装Uvicorn

你可以使用 `pip` 安装 Uvicorn：

```shell
python -m pip install uvicorn
```

## 在 Uvicorn 中运行 Django

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

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

```shell
python -m uvicorn myproject.asgi:application
```

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

在开发模式下，你可以添加 `--reload` 选项，以便在磁盘上的文件发生更改时重新加载服务器。

有关更多的高级用法，请参阅 [Uvicorn documentation 1](https://www.uvicorn.org/).

## 使用 Uvicorn 和 Gunicorn 部署 Django 应用

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

要安装 Uvicorn 和 Gunicorn，请使用以下命令：

```shell
python -m pip install uvicorn gunicorn
```

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

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