---
title: "如何部署 Django"
version: 6.0
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/6.0/howto/deployment/
canonical: https://djangodocs.dev/zh-hans/6.0/howto/deployment/
---
# 如何部署 Django

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

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

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

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

- [WSGI](https://wsgi.readthedocs.io/en/latest/) 是 Python 的主要标准，用于网络服务器和应用程序之间的通信，但它只支持同步代码。
- [ASGI](https://asgi.readthedocs.io/en/latest/) 是新兴的，对异步友好的让你的Django网页使用Python异步特性和已经开发的Django异步特性的标准。

你还应该考虑如何为你的应用程序处理 [静态文件](/zh-hans/6.0/howto/static-files/deployment/)，以及如何处理 [错误报告](/zh-hans/6.0/howto/error-reporting/)。

最后，在将你的应用程序部署到生产环境中之前，你应该执行一遍 [deployment checklist](/zh-hans/6.0/howto/deployment/checklist/) 以确保你的配置是合适的。

- [如何使用 WSGI 进行部署](/zh-hans/6.0/howto/deployment/wsgi/)

  - [如何使用 Gunicorn 托管 Django](/zh-hans/6.0/howto/deployment/wsgi/gunicorn/)
  - [如何用 uWSGI 托管 Django](/zh-hans/6.0/howto/deployment/wsgi/uwsgi/)
  - [如何使用 Apache 和 `mod_wsgi` 托管 Django](/zh-hans/6.0/howto/deployment/wsgi/modwsgi/)
  - [如何从 Apache 对 Django 的用户数据库进行认证](/zh-hans/6.0/howto/deployment/wsgi/apache-auth/)
  - [`application` 对象](/zh-hans/6.0/howto/deployment/wsgi/#the-application-object)
  - [配置 settings 模块](/zh-hans/6.0/howto/deployment/wsgi/#configuring-the-settings-module)
  - [应用 WSGI 中间件](/zh-hans/6.0/howto/deployment/wsgi/#applying-wsgi-middleware)
- [如何使用 ASGI 来部署](/zh-hans/6.0/howto/deployment/asgi/)

  - [如何使用 Daphne 托管 Django](/zh-hans/6.0/howto/deployment/asgi/daphne/)
  - [如何使用 Hypercorn 托管 Django。](/zh-hans/6.0/howto/deployment/asgi/hypercorn/)
  - [如何使用 Uvicorn 托管 Django](/zh-hans/6.0/howto/deployment/asgi/uvicorn/)
  - [`application` 对象](/zh-hans/6.0/howto/deployment/asgi/#the-application-object)
  - [配置 settings 模块](/zh-hans/6.0/howto/deployment/asgi/#configuring-the-settings-module)
  - [应用 ASGI 中间件](/zh-hans/6.0/howto/deployment/asgi/#applying-asgi-middleware)
- [部署清单](/zh-hans/6.0/howto/deployment/checklist/)

  - [运行 `manage.py check --deploy`](/zh-hans/6.0/howto/deployment/checklist/#run-manage-py-check-deploy)
  - [退出 `manage.py runserver`](/zh-hans/6.0/howto/deployment/checklist/#switch-away-from-manage-py-runserver)
  - [关键配置](/zh-hans/6.0/howto/deployment/checklist/#critical-settings)
  - [特定于环境的配置](/zh-hans/6.0/howto/deployment/checklist/#environment-specific-settings)
  - [HTTPS](/zh-hans/6.0/howto/deployment/checklist/#https)
  - [性能优化](/zh-hans/6.0/howto/deployment/checklist/#performance-optimizations)
  - [发送错误](/zh-hans/6.0/howto/deployment/checklist/#error-reporting)
