Windows

使用 IIS/Win Server (on prem) 為 Python Flask Web 應用程序提供服務值得麻煩嗎?

  • September 3, 2021

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

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

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

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

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 上。

引用自:https://serverfault.com/questions/1076511