WEB开发网
开发学院操作系统windows 2008 浅谈IIS7.0 架构 阅读

浅谈IIS7.0 架构

 2008-08-12 08:48:04 来源:WEB开发网   
核心提示: IIS 7 完整的组件分报图IIS 7的Windows PowerShell 管理环境相信关注脚本编程或者是Exchange Server 2007的朋友都不会对Windows PowerShell感到陌生, Windows PowerShell是一个特为系统管理员设计的Windows 命令行shell ,浅谈II

                    IIS 7 完整的组件分报图

IIS 7的Windows PowerShell 管理环境

相信关注脚本编程或者是Exchange Server 2007的朋友都不会对Windows PowerShell感到陌生, Windows PowerShell是一个特为系统管理员设计的Windows 命令行shell 。在这个 shell 中包括一个交互提示和一个可以独立,或者联合使用的脚本环境。对于热爱脚本管理的IT PRo们Windows PowerShell必将让他们爱不释手。而对于IIS服务器,Windows PowerShell同样可以提供全面的管理功能。

不过虽然PowerShell也可以管理运行在Windows Server 2003上的IIS6,但是IIS7才是特为通过PowerShell的命令行来进行管理的。它包括了新的APPCMD功能,APPCMD通过标准的命令行界面来创建和配置站点,这样的命令行工具的应用场景也非常常见,当用户的环境中用到例如脚本管理的时候,APPCMD就将发挥非常其极大的优势。

IS 7.0是包括在Windows Vista客户机上的,该操作系统的家庭版本也带有IIS 7.0(而不象IIS 5.1,只有在XP Professional上才有)。服务器的IIS 7.0版本将在今年稍后随Windows Server2008服务器发布,将添加一堆额外的部署特性,包括更加丰富的主机支持,安全的FTP支持,以及内置的web farm部署支持等。

Web farm支持将是特别地酷,它将允许你在一个包含了运行一个服务器所需的所有编码,配置,内容和密钥的文件共享上部署你的web应用。然后你可以添加任意数目的无状态,无配置的web服务器到一个web farm上,只需将它们指向那个文件共享,来动态装载它们的配置设置(包括绑定,虚拟目录,应用池设置等等)和应用内容即可。这使得在多个机器上扩缩一个应用简直是小菜一碟,可避免使用复制方法来做配置和应用部署(只要把文件拷贝到文件共享上,web farm里的所有机器就会马上装载变动过的文件)。

推出Windows Server2008服务器的Beta3版本支持go-live许可,所以你不久就能利用这个功能。我们已经在用IIS 7.0集群运行 Windows Server2008 了,所以你不会寂寞的!

  

                     Windows PowerShell 管理图

IIS7.0 迁移

IIS7.0 迁移网站比IIS6.0更方便,因为Apache Web server它最大的优势就在于它的定制化管理,IIS7.0现在使用Apache概念,所以把站点的配置文件拷贝到另一台IIS7.0主机上即可以,详情请了解上面《通过文本文件配置的IIS7》,《IIS 7的Windows PowerShell 管理环境》。

asp.net和IIS 7.0之集成

在早期的IIS版本中,开发人员需要编写ISAPI扩展/过滤器来扩展服务器的功能。除了写起来非常痛苦外,ISAPI在如何接入服务器以及允许开发人员定制方面也是非常有限。例如,你无法在ISAPI扩展中实现URL重写代码(注:ASP.NET是以ISAPI扩展的方式实现的)。假如你把运行时间长的代码编写成ISAPI过滤器的话,结果是你将占用web服务器的I/O线程(这就是我们不让托管代码在请求的过滤器执行阶段运行的原因)。

我们在IIS7中对核心IIS处理引擎做的一个重大的架构级变动是通过一个新的模块化的请求管道架构来促成极其丰富的扩展性。你现在可以通过与web服务器注册一个HTTP扩展性模块(HTTP Extensibility Module),在任意一个HTTP请求的生命周期的任何地方编写代码。这些扩展性模块可以使用native的C++代码或.NET托管代码来编写(你可以使用现有的ASP.NET System.Web.IHttpModule接口来实现)。

所有“内置”的IIS7功能(认证,授权,静态文件供应,目录清单支持,经典的ASP,记录日志等),现在都是使用这个公开的模块化的管道API来实现的。这意味着你可以除去这些IIS7“内置”功能的任意一个,而以你自己的实现来替换/扩展这些功能。

IIS 7.0上的ASP.NET本身也从以ISAPI的实现形式变成直接接入IIS7管道的模块:

  

                        IIS6.0 和IIS7.0 比较图

这带来诸多好处:

1) 你现在可以对服务器的所有请求(例如, .htm,.php,.jsp文件)使用ASP.NET表单认证,成员/角色,以及任何其他特性。

2) 你现在可以轻松地重写任何web请求的URL或者以种种有趣的方式对请求做改动。

3) 你可以使用VB或C#替换或扩展任何现有的IIS特性(例如,你可以除去内置的目录清单模块,接入你自己的模块)。

这确实给.NET开发人员带来了无穷多的扩展性机会。

  IIS 7.0 六大新特性:

1)模块化的网络核心允许用户增加和删除特定的功能。如果要使用服务统计构件,仅需几个模块(不包括ISAPI)。

2)一个统一标准的HTTP管道,它对应于本地管理方面的应用程序。用户可以对经典的ASP网页使用基于窗体的认证系统。

3)用户可以建立自己的IHttpModule以及IHttpHandlers,并且把它们插入到统一的管道。

4)新款分布式的xml设置系统,它利用了ASP.NET的设置系统的优点。

5)改善的诊断和问题解答机制,包括了新Runtime状态以及跟踪功能。

6)新型可扩展,面向任务的管理员用户界面。

总而言之,IIS 7将为Web管理员以及Web爱好者提供更加丰富,更加易用的管理工具。在新的IIS7中,无论是管理方面还是安全方面都得到了全新的设计,而从用户群的角度上讲,利用IIS7, 个人用户可以更快,更简便的建立自己的站点,而企业用户则可以更加全面,更加安全的维护和管理自己的WEB环境。随着Windows Server2008的日益临近,相信有关IIS7管理的相关介绍也会越来越多,究竟新版本有没有带给我们实质的变革,还是只是一个IIS服务器功能的增强,让我们拭目以待吧。

上一页  1 2 

Tags:IIS 架构

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接