IIS7.0给我们带来了什么?
令人期待的微软新一代服务器操作系统Longhorn Server中包含了微软的新Web服务器-IIS7,其中包含了很多比较有用的新功能,在人们为Vista的许多新功能感到兴奋的同时,我们这些系统管理员们也有必要了解一下微软这款强大的IIS服务器所带来的强大功能。
完全模块化的设计
如果你在过去几年中一直在使用IIS,那么你一定了解IIS所存在的一个很大的问题。对于早期版本的IIS,要么你选择安装它,要么选择不安装,你没有机会安装一个适合自己的定制版的IIS,如果选择安装IIS,那也就意味着你必须安装IIS的所有功能。
由此带来的安全问题一直让IIS用户很羡慕Apache用户,为了降低潜在的安全漏洞,在IIS 6.0中,一些主要的功能默认情况下被禁用了,但实际上它们也已经被安装在系统中了。
现在,微软采取了更合理的一步,IIS 7.0的安装是完全模块化的。安装过程中有大约40个不同的组件可供选择安装,因此系统管理员可以完全创建适合他们自己的定制IIS。
图2 角色服务 |
当然,你也可以说这是微软在向Apache学习,不管怎样,你不能否认这是一个巨大的进步。
这意味着我们可以减少给黑客用来攻击的途径,可以从更少的方面来为IIS打补丁,而且管理起来也更简化。因此从这个方面来看,IIS 7.0无疑让我们首先投上满意的一票。
而且,一旦IIS 7.0被安装完成后,这种模块化的思想也将继续得到体现,例如功能可以被轻松的添加或删除。
图3 打开或关闭Windows功能 |
上图中,我是选择了安装所有功能,但是对于一些功能比较单一的 服务器,你可以灵活的选择只安装你所需要的功能。比如,如果你不使用CGI,那么你可以不安装它,你也不用担心人们所新发现的任何有关CGI处理的新的Bug。你也不用去安装一个补丁,然后重启,因为受影响的部分从来没有安装在你系统上,你也没有东西可以修补。
重新设计的强大的管理界面
安装完毕后,我们看到IIS 7.0具有一个全新的管理界面,这是你启动IIS服务器管理器后的第一感觉。
IIS管理器已经被重新设计,左边是一个树形分级菜单,中间是主窗口列出所有不同的目录,右边是针对某个主窗口中的某个服务的操作任务区。
新管理界面如下图所示:
图4 IIS 7.0管理界面 |
如上图所示,首先引起我们注意的是如上图所示的“功能视图(Features View)”的风格,而且对于习惯了IIS老界面的用户来说,也可以选择“内容视图(Content )”,来查看组成你的网站的文件信息。不过大多数用户可能会选择使用“功能视图”来修改站点和应用设置。
一旦你点击其中任何一个图标,你将会注意到,和以前版本的IIS所不同的是,现在大多数设置都可以在主窗口中被访问。这当然是一个深受欢迎的改变。我们已 经厌倦了老版本IIS的无数的标签和对话框。我个人感到非常满意的一个事情是,我从来没有遇到过老版本IIS中所经常弹出的一个窗口:“在关闭IIS服务 管理器前,请关闭所有属性页。”当然页还有少数设置界面还是弹出一个对话框,但是大多数情况下,我们在主窗口中就可以完成所有操作。
在新版IIS中另一个新的功能就是“操作”面板。这个基于任务的面板向你显示了你选中的服务或功能相关的大多数常见任务。例如,下图是当你选中默认站点的时候,所有相关的任务选项。
图5 操作窗口 |
操作面板的内容会根据你选中不同的对象而相应发生变化。
另外,微软还充分考虑到了那些喜欢使用命令行方式来配置IIS的朋友,在新的IIS 7.0中增加了叫做appcmd.exe的新命令行配置环境。
和Lonhorn Server中其他部分一样,所有可以使用图形化界面实现的任务操作,同样也可以在命令行方式下完成。这一方面曾经让Linux因为远程管理功能而对Windows占尽上风。
图6 命令行管理方式 |
同样,通过在所有工具中的 安全性更强的secure HTTP支持,远程管理功能更加强大。
基于XML文件的设置体系
还有一个将被系统管理员所衷爱的功能是在IIS 7.0中的配置存储功能。
在新的IIS 7.0中,所有配置都以XML格式的.config文件来存储,布局非常清楚。IIS存储它的global配置在Windows/System32/inetsrv/config目录下的ApplicationHosta.config文件中。在这个文件中存储了IIS的一些基本设置和策略,以及一些安装设置。
图7 IIS 7.0配置文件 |
在IIS 7.0中一个非常漂亮的功能是新版的IIS 7已经去掉了那个让网站管理员头疼的Metabase技术。微软采用一个新类似ASP.NET中的的配置文件Web.config方式,放弃了属于专有技术的Metabase。
其中新增加的设置方式是,在主配置文件中可以针对每一个URL设置单独的配置。针对一个Web应用的特定设置可以以一个单独的XML文件的方式与应用程序本身存储在一起。
这些文件的存在使得在不同Web服务器之间复制配置文档变得非常容易,所有需要你做的就是复制整个服务器的ApplicationHost.config文件或应用程序的单独的Web.config文件。
开发者也可以对他们的Web应用分配正确的Web服务器设置。
在IIS 7.0中同样有很多被开发者所喜欢的功能,ASP.NET被完全支持,代码管理模式可以被用于访问在请求通道中的所有事件。
诊断功能也被改善,全程跟踪日志可以针对任何给定的请求而创建,从而让系统管理员可以了解应用程序中存在的任何错误。
在每一个新的Windows Server版本中必定被重新修正完善的Windows功能就是IIS,这一点在IIS 7.0中更是得到了体现。
提到Apache和IIS的争斗,自然不能不涉及到两者各自相关的系统,例如Apache是开源组合LAMP的一部分,另外的还包括Linux、MySQL和PHP/Perl等。Apache的大红大紫自然与免费的Linux操作系统的支持分不开。
随着IIS对MySQL和PHP的支持的逐渐强大,现在又有了一种新的组合WIMP,即Windows、IIS、MySQL和PHP。LAMP和WIMP 谁将占据上风的争论依然难有定论。其实两者争论的焦点除了IIS和Apache之外,自然更多的涉及到Windows和Linux之争。
LAMP的支持者说,Linux对硬件的要求更低一些,另外对企业来说可以省去软件授权的费用,相应的开发工具也是完全免费的,总之成本优势完全压倒了Windows。
不过来自微软阵营的人们似乎对此并不完全认同,他们认为,对一个企业来说,成本应该看最后的总体拥有成本(TCO),Windows操作系统更加易用,所 带来的培训和维护成本要远远低于Linux,而且Linux企业版也是要购买授权费用的,另外,Linux的技术支持收费并不低。