使用 IIS/Win Server(本地)提供 Python Flask Web 应用程序值得这么麻烦吗?

1 windows iis python

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

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

在 Ubuntu 机器(组织中至少有一些知识)上运行 Python 的技能提升和投资是一个更好的选择吗?

这适用于虚拟机上的本地部署。在云服务上运行 Python 显然是一个完全不同的故事。

Lex*_* Li 6

对于生产站点来说,IIS/Azure 应用服务 (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 上。