部署到生产环境

在开发完应用后,你会希望将其公开给其他用户使用。当你在本地开发时,可能正在使用内置的开发服务器、调试器和重载器。这些不应该在生产环境中使用。相反,你应该使用专用的 WSGI 服务器或托管平台,本文档将介绍其中的一部分。

“生产环境”意味着“非开发环境”,无论你是将应用公开服务于数百万用户,还是私有/本地服务于单个用户,都适用。部署到生产环境时,请勿使用开发服务器。它仅供本地开发期间使用。它的设计并非特别安全、稳定或高效。

自托管选项

Flask 是一个 WSGI 应用。WSGI 服务器 用于运行应用,将传入的 HTTP 请求转换为标准的 WSGI environ,并将传出的 WSGI 响应转换为 HTTP 响应。

这些文档的主要目标是让你熟悉使用生产 WSGI 服务器和 HTTP 服务器运行 WSGI 应用所涉及的概念。有许多 WSGI 服务器和 HTTP 服务器,以及许多配置可能性。以下页面讨论了最常见的服务器,并展示了运行每个服务器的基础知识。下一节将讨论可以为你管理这些的平台。

WSGI 服务器内置了 HTTP 服务器。然而,专用的 HTTP 服务器可能更安全、更高效或更强大。将 HTTP 服务器置于 WSGI 服务器之前被称为“反向代理”。

此列表并非详尽无遗,你应该根据应用的需求评估这些服务器和其他服务器。不同的服务器将具有不同的功能、配置和支持。

托管平台

有许多服务可用于托管 Web 应用,而无需维护自己的服务器、网络、域名等。某些服务可能在一定时间或带宽内提供免费层级。许多这些服务使用上面描述的 WSGI 服务器之一,或类似的接口。以下链接是一些最常见的平台,它们提供了关于 Flask、WSGI 或 Python 的说明。

此列表并非详尽无遗,你应该根据应用的需求评估这些服务和其他服务。不同的服务将具有不同的功能、配置、定价和支持。

当使用大多数托管平台时,你可能需要告知 Flask 它位于代理之后