关于IIS 6.0的故事一言难尽,如果你已经在IIS技术上有所投资,IIS 6.0无疑是一个动人的、非听不可的话题。鉴于IIS 6.0和以前版本的差别实在太大了,只用一篇文章很难做到面面俱到,所以本文首先探讨IIS 6.0的安装、体系结构以及由于体系结构方面的差异带 来的全新服务功能,下一篇文章接着介绍IIS 6.0的新特性――其中有些你可能还没有听说过,另外还有默认配置方面的一些重要变化,这些变化可能会影响到你的迁移计划。
一、安装IIS 6.0
首先从最基本的说起吧。IIS 6.0包含在Windows Server 2003服务器的四种版本之中:数据中心版,企业版,标准版,Web版。另外,顺便再回答一个最常见的IIS 6.0问题:IIS 6.0不能在Windows XP、2000或NT上运行。
安装好Windows 2003之后,马上就可以看到Windows 2003/IIS 6.0的与众不同之处,其中一个关键的变化是,除了Windows 2003 Web版之外,Windows 2003的其余版本默认不再安装IIS。按照微软过去的理念,安装操作系统的同时IIS也自动启动,为许多Web应用提供服务,Windows 2003的做法可谓一大突破。在Windows 2003中,安装IIS有三种途径:利用“管理您的服务器”向导,利用控制面板“添加或删除程序”的“添加/删除Windows组件”功能,或者执行无人值守安装。
第一次启动Windows 2003系统时,“管理您的服务器”向导自动启动,如图一所示。
图1
选择“添加或删除”角色,在“配置服务器”向导中可以看到一系列可配置的服务器角色,其中就有“应用程序服务器(IIS,ASP.NET)”选项,如图二,选中该选项之后点击“下一步”,向导提供了是否安装ASP.NET和Microsoft FrontPage服务器扩展的选项。可以看到,微软在这里采用了一种新型的“安装任何部件之前总是征求用户意见”的IIS安装策略,对于微软来说,这是一个彻底的转变,证明微软确实在认真对待安全问题。
图2
使用控制面板中的“添加/删除Windows组件”功能还要灵活一些。在向导中选择“应用程序服务器”,再点击“详细信息”,向导显示出一系列组件的清单,其中就有“Internet信息服务(IIS)”选项,还有一些选项是以前的“添加/删除Windows组件”向导没有提供的,表一概括比较了IIS 6.0和IIS 5.0 的主要组件。如果从这里安装IIS 6.0,最后得到的Web服务器可能只支持静态内容(除非在安装期间选中了某些扩展组件)。选中Internet信息服务选项,再点击“详细信息”,可以看到IIS 6.0的子组件,如图三所示。
图3
也许你已经注意到了表一列出的某些新增组件选项,但你注意到IIS 6.0少了什么吗?IIS 6.0中消失不见的最主要的一个项目是文档。在IIS 6.0中,所有文档都以帮助文件的形式发布,不再有IISHelp虚拟目录。在IIS 5.0中,如果从本地访问服务器,默认Web网站自动打开IIS的文档,但在IIS 6.0中,如果打开“http://localhost”,只能看到一个声明网站正在构建之中的页面。
另外,在IIS 5.0的IISHelp虚拟目录中有一些错误处理页面,这些错误处理页面以ASP的方式实现。如果你要用到定制的(或者修改过的)帮助文件、错误处理页面,在IIS 6.0网站上必须自己创建该目录。
进一步分析IIS 6.0的子组件清单,可以发现:原来在IIS 5.0和IIS 4.0中默认安装的Internet服务管理器(ISM)已经不见了。但是,如果你点击“万维网服务”(IIS 6.0的子组件之一,但图三没有显示出来),再点击“详细信息”,可以发现IIS 6.0的万维网服务还有子组件,如图四所示,其中包括原来的Internet服务器管理器,不过现在已经改名为“远程管理(HTML)”;还有Windows 2003和XP版本的终端服务高级客户端(TSAC)――现在它叫做“远程桌面Web连接”。现在,我们不仅可以方便地添加或删除这两个子组件,对其他子组件也一样,包括:ASP,Internet数据连接器,在服务器端的包含文件,WebDAV发布,当然还有万维网服务。
图4
安装IIS 6.0的最后一种方式是无人值守安装。和以前一样,这仍旧是唯一一种能够将工具和默认Web网站安装到其他驱动器(而不是系统驱动器)的安装方式。Windows 2003无人值守安装方式大体上仍和Win 2K一样,都是用Sysocmgr和一个应答文件实施安装。当然,新的特性需要新的参数、选项,有关这方面的详细说明,可以在Windows 2003 Release Candidate 2 (RC2)找到,地址是:http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsnetserver/proddocs/datacenter/gs_installingiis.asp。
如果将IIS 5.0或IIS 4.0服务器升级到Windows 2003,IIS 6.0不会被设置成自动启动。也就是说,如果采用升级的方式安装,IIS 6.0默认是禁用的,除非遇到下列情况之一:
⑴ 以前的IIS服务器上已经安装了IIS Lockdown工具。
⑵ 存在注册子键HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW3SVCRetainW3SVCStatus,且它包含一个任意的注册键。例如,你可以创建一个名为EnableIIS6的键,设定它的值为DWORD类型的1。
⑶ 在无人值守的升级安装中,应答文件的[InternetServer]部分存在DisableWebServiceOnUpgrade = True/False条目。
二、支持服务
自IIS 6.0发布以来,它的某些新特性一直是人们关注和议论的焦点,成为众人瞩目的明星,但另一些Internet支持服务虽然不是经常有人说起,却同样值得关注,其中之一就是POP3服务和POP3服务Web管理器。我们无从得知微软为何不在“应用程序服务器”组件清单中列出POP3服务,但是继SMTP服务之后(SMTP服务随同POP3服务一起安装),管理员们盼望POP3服务已经很久了,他们一直在期盼着用一个简单的POP3服务来替代庞大的Microsoft Exchange Server。
统一描述、发现和集成协议(Universal Description, Discovery, and Integration,即UDDI)服务是Windows 2003提供的又一种新的功能,它也与IIS有关,但默认不安装(注意,Windows 2003 Web版不能安装UDDI)。UDDI是一种产业标准(即不是微软的发明),能够通过广告发布IIS服务器提供的Web服务――这里“广告”一词的含义与日常生活中的广告不同,它是指一种让客户程序(通常是Web浏览器)获知Web服务(通常是ASP.NET应用)各种细节的方式。UDDI仍在发展之中,但一些企业已经在内部采用UDDI,以便开发者将自己的代码发布给其他协作开发的人。有关UDDI的更多知识,可以在下列网站找到:http://www.uddi-china.org/(中文),http://www.uddi.org(英文),http://www.uddicentral.com(英文)。
最后一种重要的支持服务是后台智能传送服务,即 Background Intelligent Transfer Service或BITS。BITS是一种后台文件传输机制和队列管理器,也称作节流传输服务。BITS控制文件请求,减少带宽消耗并改善最终用户的体验。针对IIS启用BITS可保证Web服务器的服务质量,如果没有BITS,当100个用户同时下载一个500 MB的文件,服务器的带宽可能就被消耗殆尽,导致其他访问Web服务的用户频繁地遇到超时错误。如果BITS就象广告说的那样有效,可以料想它将是一种非常实用的服务。Windows 2003发布之后,按照计划,BITS还将移植到Win2K上。关于BITS的更多信息,请参见http://www.microsoft.com/windows.netserver/techinfo/overview/bits.mspx
(未完待续)