使用 IIS/Win Server(本地)提供 Python Flask Web 应用程序是否值得?

使用 IIS/Win Server(本地)提供 Python Flask Web 应用程序是否值得?

有一些资源(据我所知很少)表明从 IIS 提供 Python Web 应用程序是可行的,但我还没有听到或读到任何关于这方面实践的真实故事。

我想知道在一个几乎完全是 Windows 商店的组织中是否值得考虑这种方法。

通过提升技能并投资从 Ubuntu 机器(组织中至少有一些相关知识)运行 Python 是不是一个更好的选择?

这是针对虚拟机上的本地部署。在云服务上运行 Python 显然是完全不同的故事。

答案1

对于生产站点来说,在 IIS/Azure App Services (Windows) 上使用 Python 是一个相当受欢迎的选择(当时 Azure 仍称为 Windows Azure)。您可以使用 HttpPlatformHandler 或 wfastcgi,以便 IIS 将流量转发到 Python 进程。

然而,真正的挑战来自于这样一个事实:Python Web 框架/应用程序通常没有在 Windows 上得到很好的开发/测试,因此如果出现任何问题,您几乎肯定会成为许多框架/应用程序供应商忽视的少数用户群。

甚至微软也决定放弃在 IIS/Windows 上使用 Python 的尝试,并敦促其客户迁移到 Azure App Services (Linux),

重要的

正如本文所述,Microsoft 已弃用 Windows 上应用服务的 Python 扩展,转而支持直接部署到 Linux 上的应用服务。

https://docs.microsoft.com/en-us/visualstudio/python/managing-python-on-azure-app-service?view=vs-2019

因此,该往哪个方向走并不难看出。

对于本地部署,您可以使用 Windows Server 托管 Linux VM(Hyper-V)或使用 Linux Docker 容器,或者直接使用 Linux 服务器盒。即使是我合作过的最以 Windows 为中心的客户,如今也运行着一些 Linux Docker 容器。

请注意,这不仅适用于 Python Web 应用程序。PHP/Go/Java/Node.js Web 应用程序面临同样的挑战,因此最好将它们托管在 Linux 上。

相关内容