Internet 信息服务 (IIS) 6.0 通过可调整的结构传递 Web 宿主服务,您可以使用该结构管理服务器资源以提高稳定性、效率和性能。IIS 将应用程序分散到隔离的池中,并自动检测内存泄漏、有缺陷的进程和过度利用的资源。如果发生问题,IIS 通过关闭然后重新部署有问题的资源并将有问题的进程连接到解析工具上进行管理。
IIS 可以按照两种互不相同的模式运行:
与 IIS 5.0 隔离模式相比,工作进程隔离模式为运行 Web 应用程序提供了更好的默认安全性。默认情况下,工作进程使用“网络服务”标识运行。“网络服务”帐户具有比 IIS 5.0 隔离模式的默认帐户更低的访问权限。以 IIS 5.0 应用程序模式在进程内运行的 Web 应用程序以“本地系统”帐户运行。本地系统帐户可以读取、执行和更改计算机上的大多数资源。
安装 IIS 6.0 时的默认隔离模式取决于执行的是全新安装还是升级安全。
有关从一种隔离模式切换到另一种隔离模式的信息,请参阅配置隔离模式。
IIS 6.0 引入了工作进程隔离模式,该模式可以在隔离环境中运行所有的 Web 应用程序。当在工作进程隔离模式下运行 IIS 时,可以将应用程序配置成在单独的应用程序池中运行。每个应用程序池在逻辑上表示一个可配置的工作进程,并且链接到池中的应用程序。工作进程彼此独立运行;它们可能失败,但不会影响其他工作进程。应用程序池保护其中的应用程序免受支持其他应用程序池的工作进程的影响。这样,就可以避免应用程序相互影响。
在工作进程隔离模式下,超文本传输协议 (HTTP) 请求被直接路由到服务于已配置的应用程序的内核应用程序池队列。服务于应用程序池的工作进程会将请求直接从该队列中拉出,避免了进程切换的开销。
为进一步保护 WWW 服务,IIS 6.0 会隔离关键的万维网发布服务(WWW 服务)组件,如 HTTP 协议堆栈 (HTTP.sys) 和 WWW 服务管理和监控,避免其受到在工作进程中运行的第三方代码的影响。HTTP.sys 接受 WWW 服务请求并将其排入队列。当工作进程处于不正常的状态并因此中断处理请求时,HTTP.sys 会继续处理请求。同时,WWW 服务将检测不正常的工作进程并将其关闭。如果要求新工作进程为请求提供服务(HTTP.sys 已将请求排入队列),WWW 服务会启动一个新工作进程以便从 HTTP.sys 中获取队列中的请求。即使工作进程失败,WWW 服务仍会继续处理请求并保护用户免于丢失服务。
IIS 6.0 工作进程隔离模式比早期 IIS 版本具有以下改进:
如果服务器必须运行与工作进程隔离模式不兼容的应用程序,那么可以配置 IIS 以便在 IIS 5.0 隔离模式下运行,该模式支持 IIS 5.0 的处理模式和功能。如果以 IIS 5.0 隔离模式运行 IIS,则工作进程隔离模式的一些功能将不可用。