Apache-2.2
為什麼人們使用 IIS?
我知道這聽起來像火焰,但它不是故意的。自 6.0 版以來我沒有執行 IIS。我想知道較新的版本是否為 Apache 等開源解決方案提供了一個引人注目的替代方案。
在幾種直接的情況下,人們更喜歡 IIS:
- 您的應用程序供應商需要它
- 您僅限於 Windows Server,不需要任何 Apache 特定的功能
- 您需要執行 ASP 或 ASP.NET 應用程序
當然,對於一些非常有用的 Apache 模組,例如 mod_proxy 和 mod_rewrite,IIS 沒有簡單的內置等效模組,但 IIS 確實有一些自己的優勢:
- 為了隔離應用程序以在不同的使用者上下文中執行,IIS 允許直接配置每個目錄甚至每個文件的 suexec 類型功能。
- 假設安全地集成從 Web 請求到網路資源(如 SQL Server、MSDTC、MSMQ 和文件共享)的使用者身份驗證(這可能是優點也可能是缺點,但它絕對是一種不同的模型,各有優缺點)
- IIS 更容易安裝和維護,因為它與平台緊密集成——如果你更新 Windows,你就更新了 Web 伺服器;無需關注 Apache 更新。
簡短的回答,如果您的應用程序依賴於基於 Microsoft 的基礎架構(即 Active Directory、Windows 文件共享、SQL Server、Exchange Server 等),那麼如果您使用 IIS,您的生活將會輕鬆很多。
更新
進一步思考,沒有理由不能或不應該同時使用 IIS 和 Apache。幾年前我在一家全微軟的商店工作時,我們很好地利用了 IIS 的 AD 集成功能,但我們發現很多情況(主要是重寫和錯誤處理),其中有 IIS 方法來完成我們的任務,但是 Apache 的模組更乾淨或更簡單。因此,我們使用 mod_proxy 在 IIS 前面安裝了一個 Apache 伺服器(在 Linux 機器上),並獲得了兩全其美的效果。