使用 IIS/Win Server(本地)提供 Python Flask Web 應用程式值得這麼麻煩嗎?

使用 IIS/Win Server(本地)提供 Python Flask Web 應用程式值得這麼麻煩嗎?

有一些資源(據我所知很少)表明從 IIS 提供 Python Web 應用程式是可行的,但我在實踐中還沒有聽到或讀過任何關於此的真實故事。

我想知道這種方法是否值得在幾乎完全是 Windows 商店的組織中考慮。

在 Ubuntu 機器(組織中至少有一些知識)上運行 Python 的技能提升和投資是一個更好的選擇嗎?

這適用於虛擬機器上的本地部署。在雲端服務上運行 Python 顯然是一個完全不同的故事。

答案1

對於生產網站來說,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 上。

相關內容