部署到生产环境

应用程序开发后,您想要将其公开给其他用户。在本地开发时,您可能会使用内置的开发用服务器、调试器和重新加载器。这些不应该在生产环境中使用。您应该使用专用的 WSGI 服务器或托管平台,本文将介绍其中一些。

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

自托管选项

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

这些文档的主要目标是帮助您熟悉使用生产环境的 WSGI 服务器和 HTTP 服务器来运行 WSGI 应用程序所涉及的概念。WSGI 服务器和 HTTP 服务器种类繁多,配置方式也多种多样。以下页面讨论了最常见的服务器,并展示了运行每种服务器的基础知识。下一节将讨论可以为您管理这些服务器的平台。

WSGI 服务器内置了 HTTP 服务器。然而,一个分开的 HTTP 服务器可能更安全、更高效或功能更强大。将 HTTP 服务器置于 WSGI 服务器之前的做法称为“反向代理。”

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

托管平台

有许多服务可用于托管 Web 应用程序,无需您自行维护服务器、网络、域名等。某些服务可能提供特定时间或带宽的免费套餐。许多此类服务使用上述 WSGI 服务器之一或类似的接口。以下链接涵盖一些最常见的平台,其中包含 Flask、WSGI 或 Python 的使用说明。

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

使用大多数托管平台时,您可能需要 告知 Flask 它运行在代理之后