人们为什么使用 IIS?

人们为什么使用 IIS?

我知道这听起来很荒谬,但事实并非如此。自从 6.0 版以来,我就没再运行过 IIS。我想知道新版本是否为 Apache 等开源解决方案提供了令人信服的替代方案。

答案1

在以下几种简单的情况下,人们会更喜欢 IIS:

  1. 您的应用程序供应商需要它
  2. 您仅限于 Windows Server,并且不需要任何 Apache 特定功能
  3. 您需要运行 ASP 或 ASP.NET 应用程序

当然,IIS 没有为一些非常有用的 Apache 模块(例如 mod_proxy 和 mod_rewrite)提供简单的内置等效功能,但 IIS 确实具有其自身的一些优势:

  • 为了隔离应用程序在不同的用户上下文中运行,IIS 允许直接配置每个目录甚至每个文件的 suexec 类型的功能。
  • 假设安全地将用户身份验证从 Web 请求集成到网络资源(如 SQL Server、MSDTC、MSMQ 和文件共享)(这可能是优点也可能是缺点,但它肯定是一个具有自身优点和缺点的不同模型)
  • IIS 更易于安装和维护,因为它与平台紧密集成 - 如果您正在更新 Windows,那么您也在更新 Web 服务器;无需关注 Apache 更新。

简而言之,如果您的应用程序依赖于基于 Microsoft 的基础设施(即 Active Directory、Windows 文件共享、SQL Server、Exchange Server 等),那么使用 IIS 您的生活将会轻松很多。

更新

进一步思考,没有理由不能或不应该同时使用 IIS 和 Apache。几年前,当我在一家全 Microsoft 商店工作时,我们充分利用了 IIS 的 AD 集成功能,但我们发现很多情况下(主要是重写和错误处理)IIS 方法可以完成我们的任务,但 Apache 的模块更干净或更简单。因此,我们使用 mod_proxy 在 IIS 前面放置了一个 Apache 服务器(在 Linux 机器上),并充分利用了两者的优势。

答案2

使用 IIS 的一个重要原因是,如果您想托管基于 .NET 或 ASP 的 Web 应用程序。是的,使用 mono 或其他一些工具,您可以在 Linux+Apache 系统上托管一些内容,但您将无法访问仅在 IIS 上可用的某些功能。对于拥有大量基于 .NET 的应用程序的企业,以及许多习惯于为该平台进行开发的开发人员来说,使用现有人才知道如何使用的东西才是有意义的。

答案3

较新版本的 IIS在很多方面都比 6.0 更好,包括但不限于安全性。您可能不喜欢适应不同的 UI 和新的安全功能,但技术改进值得注意。IIS7 中的进程模型与 IIS6 不同,在我看来更好。如果您正在运行 ASP.NET,IIS 7.5 可能是您的最佳选择。但这对 IIS 的吸引力很大程度上取决于戴夫亚当斯等等。如果您正在运行 Rails 之类的开源平台,并且想要使用 IIS,那么您就是一个深陷困境的人。

相关内容