# Django 5.2.8 documentation

# 如何部署 Django

Django 充满了让网站开发者生活更轻松的快捷工具，但如果你不能轻松部署你的网站，那么所有这些工具都没有用。自 Django 诞生以来，部署的便利性一直是其主要目标。

部署你的Django应用程序有很多选择，可以基于你的架构或者特定的业务需要，但是这不在Django可以给出指导建议的范围内。

作为 Web 框架，Django 需要 Web 服务器才能运行。由于大多数 Web 服务器不原生支持 Python，因此我们需要一个接口来实现通信。`runserver` 命令启动一个轻量级开发服务器，它不适用于生产。

Django现在支持两种接口：WSGI和ASGI。

- WSGI 是 Python 的主要标准，用于网络服务器和应用程序之间的通信，但它只支持同步代码。

- ASGI 是新兴的，对异步友好的让你的Django网页使用Python异步特性和已经开发的Django异步特性的标准。

你还应该考虑如何为你的应用程序处理 静态文件，以及如何处理 错误报告。

Finally, before you deploy your application to production, you should run through our deployment checklist to ensure that your configurations are suitable.

- 如何使用 WSGI 进行部署
  - 如何使用 Gunicorn 托管 Django
  - 如何用 uWSGI 托管 Django
  - 如何使用 Apache 和 `mod_wsgi` 托管 Django
  - 如何从 Apache 对 Django 的用户数据库进行认证
  - `application` 对象
  - 配置 settings 模块
  - 应用 WSGI 中间件
- 如何使用 ASGI 来部署
  - 如何使用 Daphne 托管 Django
  - 如何使用 Hypercorn 托管 Django。
  - 如何使用 Uvicorn 托管 Django
  - `application` 对象
  - 配置 settings 模块
  - 应用 ASGI 中间件
- 部署清单
  - 运行 `manage.py check --deploy`
  - 退出 `manage.py runserver`
  - 关键配置
  - 特定于环境的配置
  - HTTPS
  - 性能优化
  - 发送错误