Django 教程 11:部署 Django 到生产环境
现在,你已经创建(并测试)了一个令人敬畏的 LocalLibrary 网站,如果你希望将其安装在公共 Web 服务器上,以便图书馆工作人员和成员可以通过 Internet 访问它。本文概述了如何找到主机来部署你的网站,以及你需要做什么才能让你的网站准备好生产。
完成所有先前的教程,包括: 了解你可以在何处以及如何将 Django 应用程序部署到生产环境。概述
一旦你的网站完成(或完成“足够”开始公开测试),你将需要将其托管在比你的个人开发计算机更公开和可访问的地方。
到目前为止,你一直在开发环境中工作,使用 Django 开发 Web 服务器将你的站点共享到本地浏览器/网络,并使用暴露调试和其他私人信息的(不安全)开发设置运行你的网站。在你可以从外部托管网站之前,你首先必须:
本教程为你选择托管站点提供了一些指导,简要概述了为了让你的 Django 应用程序可用于生产需要做什么以及如何将 LocalLibrary 网站安装到 Heroku 云托管上服务。
什么是生产环境?
生产环境是一个由服务器电脑提供的环境,你将在这里运行你的网站,为外部使用提供服务。生产环境包括:
备注: 根据你的生产配置方式,你可能还有反向代理,负载均衡器等。
服务器计算机可以位于你的场所,并通过快速链接连接到 Internet,但使用托管“在云中”的计算机更为常见。这实际上意味着,你的代码在托管公司的数据中心的某台远程计算机(或可能是“虚拟”计算机)上运行。远程服务器通常会以特定价格,提供一些保证级别的计算资源(例如 CPU,RAM,存储器等)和互联网连接。
这种可远程访问的计算/网络硬件,称为基础架构即服务(IaaS)。许多 IaaS 供应商,提供预安装特定操作系统的选项,你必须在其上安装生产环境的其他组件。其他供应商允许你选择功能更全面的环境,可能包括完整的 Django,和 Web 服务器设置。
备注: 预构建环境可以使你的网站设置变得非常简单,因为它们会减少配置,但可用选项可能会限制你使用不熟悉的服务器(或其他组件),并且可能基于较旧版本的操作系统。通常最好自己安装组件,以便获得所需的组件,当你需要升级系统的某些部分时,你就知道从哪里开始!
其他托管服务提供商,支持 Django 作为平台即服务(PaaS)产品的一部分。在这种托管中,你不必担心大多数生产环境(Web 服务器,应用程序服务器,负载平衡器),因为主机平台会为你处理这些(以及为了扩展你的应用程序,而需要做的大部分工作)。这使得部署非常简单,因为你只需要专注于 Web 应用程序,而不是所有其他服务器的基础结构。
相对于 PaaS,一些开发人员会选择 IaaS 所提供的更高灵活性,而其他开发人员,则欣赏 PaaS 降低的维护开销,和更轻松地扩展。当你开始使用时,在 PaaS 系统上设置你的网站,要容易得多,因此我们将在本教程中这么做。
备注: 如果你选择一个 Python/Django 友好的托管服务提供商,他们应该提供有关如何使用不同配置的网络服务器,应用服务器,反向代理等设置 Django 网站的说明(如果你选择 PaaS,这就没有关系了)。例如, Digital Ocean Django 社区文档 中的各种配置,有许多手把手指南。