Web服务解决方案建议书-Final.docx_第1页
Web服务解决方案建议书-Final.docx_第2页
Web服务解决方案建议书-Final.docx_第3页
Web服务解决方案建议书-Final.docx_第4页
Web服务解决方案建议书-Final.docx_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XX企业Web服务解决方案建议书XX年XX月摘要 目录1概述31.1背景介绍31.2现状描述31.3问题分析32总体功能需求42.1Web 服务器应该具有高可靠性和高可用性42.2网站的管理和维护应该方便而又灵活52.3Web服务器能支撑更多Web应用,有高度的可扩展性52.4Web服务器能够支持快速的B/S结构应用系统开发52.5Web服务器应能提供高安全的平台来保证网站的安全53解决方案建议63.1Web服务器的部署方案63.1.1单机部署方案63.1.2高容量负载均衡部署方案73.2IIS6.0 体系结构83.2.1IIS服务83.2.2IIS 6.0 核心组件103.2.3IIS 隔离模式113.2.4Web 应用程序隔离134解决方案优势154.1为什么选择微软154.2为什么选择微软的IIS 6.0164.2.1构建企业网站的高可用性和高可靠性164.2.2轻松地管理和维护企业网站184.2.3更高、更强大的性能和可伸缩性194.2.4更为快捷的网站应用开发能力224.2.5更加安全的网站234.3业界对IIS6.0的评价251 概述1.1 背景介绍本解决方案将从XX企业的IT环境现状出发,分析现有环境, 提出XX企业关心的关键问题及未来的挑战,并根据相关问题详细阐述对应解决方案,帮助XX企业快速解决问题,以信息技术提升企业生产力。1.2 现状描述XX企业的不管是对内还是对外越来越多的使用网站、门户的形式进行信息的交换、共享。为了维护和访问的便利性,大量的企业业务系统用Web网站的形式加以实现。企业对于Web服务实现的需求越来越迫切。而XX企业的对外网站代表企业的形象,内部网站和各种业务系统的正常运转更关系到企业生产效率这个生存之本。但是目前的Web服务器体系结构无法提供网站服务的高可用性和服务器的可靠性,无法保证网站的7*24小时在线;Web服务器上的多个Web应用程序的相互影响,一个Web应用出问题,导致其它Web应用也发生故障,无法和平共存,甚至整个Web服务器都会挂起,管理员只能手工重启服务,极大影响网站服务的高可用性。现有的网站管理和维护的成本相对较高,维护管理手段单一。配置信息管理和导出很麻烦。Web服务器的迁移和升级很不方便。随着网站访问量的不断增加,网站的性能下降,网站服务的扩展能力越来越差,单台服务器无法承载更多的网站,整个网站的启动时间很长。B/S结构的应用系统开发难度较高,信息展现能力较差,无法给用户很好的体验,并且开发出代码无法保证安全,如果编写时不小,很容易导致灾难性的后果。企业网站接入互联网同时也给企业IT环境带来安全威胁。而且威胁在快速变化,强度越来越高。1.3 问题分析1.3.1 网站服务的高可用性和服务器的可靠性问题Web服务器的高可用性和可靠性问题绝大部分是由于质量低劣的Web应用造成,如果执行的代码有问题,那么会导致整个Web服务器停止工作; Web服务器上的所有Web站点工作在一个应用程序池内,无法实现隔离, 一个Web应用出问题,会株连九族。1.3.2 网站管理和维护问题Web服务器配置数据库采用二进制文件结构,而不是XML格式文件,这样配置信息不可移植和导出,不利于升级。如果修改了配置数据,有时必须重新启动WWW服务,如果系统上网站的数量很多,可能需要不少时间。Web服务器在网站应用出现问题时,不能够提供尽量详细的出错参考信息,没有远程网站维护手段,维护管理手段单一。1.3.3 网站性能问题Web服务器首先从内核模式的TCP/IP堆栈将传入的HTTP请求传递给用户模式的Winsock,由Winsock将请求传递给WWW服务管理进程,用户模式和内核模式之间的转换是一项开销很大的操作,不可避免地给处理过程带来瞬间的延迟。当负载较大时,这种延迟不断累加。目前企业的Web服务器支持的最大并发进程有限,同一台服务器无法同时运行更多的站点。1.3.4 B/S结构的应用系统开发问题网站Web应用程序开发难度大,而且编写困难,导致开发的周期长,而且用户体验效果不好。编写针对所有进入Web服务器或Web网站的请求执行操作的代码的ISAPI筛选器组件,不仅编写困难,而且如果编写时不小心,很容易导致灾难性后果,出错的代码导致Web服务器崩溃。 WWW网页地址的文件名部分包含中文字符或参数部分包含中文字符时,则可能导致服务器处理结果不正确,对Unicode的支持不好。1.3.5 网站安全性问题按照缺省方式安装Web服务器对外的接触面太多,存在安全风险。客户代码和操作系统代码在共享同一个进程,应用代码有可能对系统代码造成威胁,同时WWW服务管理进程以System系统权限运行,黑客可能使自己的代码让WWW服务管理进程执行一些底层的系统操作。另外一个网站应用被攻击会导致其他应用程序受影响,甚至整个Web服务器宕机。2 总体功能需求随着以上阐述的问题在企业网站服务中越来越突出,企业目前想要的理想网站存在以下需求:2.1 Web 服务器应该具有高可靠性和高可用性企业需要一个能够高可靠性的Web服务器可以保证他的网站能7*24小时不停顿的运转,尽量避免出现Web服务因非应用程序编写问题,而是自身原因造成的停止工作的情况。即使一旦出现定制工作问题,也能提供一种机制进行自我恢复。同时能够提供良好的机制减轻因为应用编写错误造成的对Web服务器的影响。2.2 网站的管理和维护应该方便而又灵活企业需要一种强大,灵活的远程网站维护手段,能够远程管理整个网站的所有工作。网站管理和维护应该方便而有灵活,对正在运行的网站应用的各种管理维护工作应该尽量小的影响其正常的运行。同时Web服务器应该能够在网站应用出现问题时,能够提供尽量详细的出错参考信息,以便管理员快速定位问题,解决问题,提高网站服务的正常服务时间。2.3 Web服务器能支撑更多Web应用,有高度的可扩展性Web服务器应该具有非常灵活的进行scale-up的能力。即在网站应用压力不强的情况下,用服务器很少的资源进行支持。当压力增大时,管理员可以很方便的将服务器的硬件资源调拨给Web服务上。Web服务器应该就有强大的scale-out的能力。即当一台服务器已经处于满负荷运转的情况下,管理员可以很方便的、动态的、即时的加入更多的服务器分担网站应用的压力。2.4 Web服务器能够支持快速的B/S结构应用系统开发Web服务器应该能够支持多种语言和体系结构开发的网站应用系统,要能够快速开发出符合企业需要的Web应用程序。代码安全,并且界面上能给用户良好的体验。要有和开发工具的良好集成能力,能够提供良好的方式对出现问题的网站应用进行现场问题定位。2.5 Web服务器应能提供高安全的平台来保证网站的安全1) 企业需要一个高安全性的Web服务器为其网站应用提供基础支撑。2) Web服务器应该尽量减少对外的接触面,从而将风险降到最低。3) 网站应用应该拥有恰当的权限。不能太高,也不能太少。4) 当一个网站应用出现问题时,因该对会造成对同一服务器上的其他应用的影响。5) 应该拥有良好的网页防篡改能力。网页如果被人恶意更改,应该有手段及时进行恢复。3 解决方案建议当今的 Web 应用程序需要快速的、可扩展的、可靠的 Web 服务,而且这种服务还必须是可管理的和安全的。基于上述情况,结合国内外企业网站服务建设的发展趋势和经验,同时参考目前Web技术的现有能力和发展走向,我们提供了Web服务解决方案, 来满足企业迫切的需要。让我们看一下Web服务解决方案在不同场景下的Web服务器的部署方案:3.1 Web服务器的部署方案3.1.1 单机部署方案如果您的服务器的需求是简单的轻负载,那么可以在单个服务器上拥有数千个 Web 站点,内容散布到许多站点上,但每个站点的流量较低。通过将内容从Web服务器中导出,企业可以在单个冗余磁盘阵列(Redundant Array of Independent Disks,RAID)或其它存储解决方案上为多台服务器存储内容。企业在存储器上的投资通过集中而非分散于众多 Web 服务器而实现了优化。这减少了硬件故障的出现,并简化了恢复策略。方案中Web服务器采用了Microsoft Windows Server 2003 家族的 Internet 信息服务 (IIS) 6.0。在IIS6.0上运行的数量众多的Web应用程序(网站)。IIS6.0通过结合一种新的、能够在应用程序隔离模式下提供性能和可靠性的结构,可以把 Web 应用程序分组编入“应用程序池”,确保在 Web 应用程序发生故障时,它不会影响运行在其他应用程序池中的应用程序。另外IIS6.0可以将应用程序池配置为启动多个工作进程,可以提高可扩展性,如果一个工作进程失败,另一个工作进程可以继续处理请求。这个功能的名为 Web 园,是小型的“Web 农场”。您无需使用多台计算机来传送相同的内容(Web 农场),而是可以使用一台计算机中的多个进程来传送相同的内容。3.1.2 高容量负载均衡部署方案如果你的服务器的需求是复杂的重负载,那么高容量负载均衡部署方案是你所需要的。互联网的快速增长已经使网络服务器面对的访问数量大大增加,并且更加不可预知。如今,服务器必须具备提供大量并发访问服务的能力,其处理能力和I/O能力已经成为提供服务的瓶颈。如果客户的增多导致通信量超出了服务器能承受的范围,那么其结果必然是宕机。这时候,你当然必须升级你的服务器,但是,单台服务器有限的性能可能解决不了这个问题,一台普通服务器的处理能力只能达到每秒几万个到几十万个请求,无法在一秒钟内处理上百万个甚至更多的请求,同时你要考虑投资保护的问题。但若能将多台这样的服务器组成一个系统,并通过相应的技术将所有请求平均分配给所有服务器,那么这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力,而你的原始投资也得到了保护。这就是负载均衡的基本设计思想。 可运用各种方式来进行负载均衡,包括DNS轮询和各种智能负载均衡技术。DNS轮询是一种通过配置域名(DNS)服务器来实现负载均衡的方法。DNS轮询是一种直接而便宜的方法,但是它有许多缺点。其中一个主要的弱点是DNS服务器没有一个反馈的机制来接收应用服务器的当前状况信息。如果一个服务器过载或宕机,DNS服务器不会发现,会继续把客户请求发送过去,直到人工干预,排除故障为止。另一个弱点是DNS服务器只能简单的平均分配客户请求,如果有不同处理能力的应用服务器的话,很快会使性能较差的机器过载。为了弥补DNS轮询的不足之处,很多厂商已经开发了硬件负载均衡器产品。而硬件负载均衡器的缺点在于费用、复杂性以及单点失败因素。如果请求是SSL加密的,硬件负载均衡器不能读取头,Cookies或者URL信息。由于所有的请求均是通过一个单一的硬件负载均衡器来传递,因此,负载均衡器上的任何故障都将导致整个站点的崩溃。而微软为您企业提供的WLBS (Windows NT Load Balancing Service)是微软公司提供的实现负载均衡的免费软件(可以从Microsoft网站上下载,,可以在标准版上运行)。WLBS通过使用二台或多台的服务器共同工作所组成的集群,提供高可用的和高可扩展的Internet/Intranet服务。客户端并不能区分他的请求是在一台服务器上还是运行在WLBS集群上。然而,运行在WLBS集群上与在一台服务器上有着很大的区别,首先WLBS集群上的某台服务器宕机,集群会自动调整集群的组成成员,客户服务不会中断,另外,如果使用基于端口的负载均衡,客户端的响应时间会缩短。由于WLBS独特的,真正意义上的分布式结构,它是一个理想的构建高可用的和高可扩展的Internet软件,并且能轻松应付大型网站上繁重的任务。已经过WLBS应用测试的软件有:Web 服务(例如Microsoft IIS) 、基于微软服务器的 VPN 解决方案、媒体流、代理服务。因为WLBS是基于IP的负载均衡的软件,所以除了上述应用外,其他应用也可以从中获得好处。高容量 Web 站点经常使用由多台统一配置的 IIS 服务器组成的 Web 场,这些 IIS 服务器从负载平衡器接收流量。在此方案中,对 Web 场中的服务器来说,访问一个或多个 Microsoft SQL 服务器群集是很普遍的,这些群集服务器经常使用 Microsoft Cluster Server(MSCS)作为一个公共数据存储库。注意:这时并不在文件服务器间运用网络负载平衡(NLB),因为在 Microsoft 网络中使用的服务器消息块(Server Message Block,SMB)通信采用独立的话路。这一高可用性方案为运行于 IIS 6.0 的应用程序提供一个公共数据库,后者可在任何一台服务器出现故障时,运用故障转移功能。同样,IIS 6.0 所提供的内容和应用程序可以托管于一个群集文件服务器或 NAS 设备,因此任何一个远程存储器的故障对用户来说都是透明的。为了提高文件服务器的可用性,你可以考虑像 SQL 服务器一样群集您的文件服务器。另外(或者),您可以使用 DFS 提供一个非特定于机器的 UNC 命名惯例和文件复制服务(FRS)来提供冗余度。分布式文件系统(DFS)服务起初被设计简化用户的工作。DFS允许管理员创建一个逻辑的区域,包含多个服务器或分区的资源。对于用户,所有这些分布式的资源存在于一个单一的文件夹中。DFS因为它的容错和可伸缩特性给企业带来高可用、高可靠的服务。而Windows Server中的DFS功能能够很好的实现网页被篡改的问题。我们可以在防火墙后面摆放一台DFS服务器,用于整个Web网站内容的同步和分发。DFS能够及时监控被推送Web服务器上的相应网站应用文件。当发现相关文件的时间戳发生异变时,DFS会立即将原始文件重新复制,覆盖被篡改的文件,从而达到防止网页篡改的效果。3.2 IIS6.0 体系结构3.2.1 IIS服务IIS 提供了基本服务,包括发布信息、传输文件、支持用户通讯和更新这些服务所依赖的数据存储。下表列出了 IIS 服务及其主要组件和服务宿主。服务主要组件宿主于万维网发布服务(WWW 服务)Iisw3adm.dllSvchost.exe文件传输协议服务(FTP 服务)Ftpsvc.dllInetinfo.exe简单邮件传输协议服务(SMTP 服务)Smtpsvc.dllInetinfo.exe网络新闻传输协议服务(NNTP 服务)Nntpsvc.dllInetinfo.exeIIS 管理服务Iisadmin.dllInetinfo.exe万维网发布服务通过将客户端 HTTP 请求连接到在 IIS 中运行的网站上,万维网发布服务(WWW 服务)向 IIS 最终用户提供 Web 发布。WWW 服务管理 IIS 核心组件,这些组件处理 HTTP 请求并配置和管理 Web 应用程序。WWW 服务作为 Iisw3adm.dll 来运行并宿主于 Svchost.exe 中。文件传输协议服务通过文件传输协议服务(FTP 服务),IIS 提供对管理和处理文件的完全支持。该服务使用传输控制协议 (TCP),这就确保了文件传输的完成和数据传输的准确。该版本的 FTP 支持在站点级别上隔离用户以帮助管理员保护其 Internet 站点的安全并使之商业化。FTP 服务作为 Ftpsvc.dll 来运行并宿主于 Inetinfo.exe 中。简单邮件传输协议服务通过使用简单邮件传输协议服务(SMTP 服务),IIS 能够发送和接收电子邮件。例如,为确认用户提交表格成功,可以对服务器进行编程以自动发送邮件来响应事件。也可以使用 SMTP 服务以接收来自网站客户反馈的消息。SMTP 不支持完整的电子邮件服务。要提供完整的电子邮件服务,请使用 Microsoft Exchange Server。SMTP 服务作为 Smtpsvc.dll 来运行并宿主于 Inetinfo.exe 中。网络新闻传输协议服务可以使用网络新闻传输协议服务(NNTP 服务)主控单个计算机上的 NNTP 本地讨论组。因为该功能完全符合 NNTP 协议,所以用户可以使用任何新闻阅读客户端程序加入新闻组进行讨论。通过 Inetsrv 文件夹中的 Rfeed 脚本,IIS NNTP 服务现在支持新闻流。NNTP 服务不支持复制。要利用新闻流或在多个计算机间复制新闻组,请使用 Exchange Server。NNTP 服务作为 Nntpsvc.dll 运行并宿主于 Inetinfo.exe 中。IIS 管理服务IIS 管理服务管理 IIS 配置数据库,并为 WWW 服务、FTP 服务、SMTP 服务和 NNTP 服务更新 Microsoft Windows 操作系统注册表。配置数据库是保存 IIS 配置数据的数据存储。IIS 管理服务对其他应用程序公开配置数据库,这些应用程序包括 IIS 核心组件、在 IIS 上建立的应用程序以及独立于 IIS 的第三方应用程序(如管理或监视工具)。IIS 管理服务作为 Iisadmin.dll 运行并宿主于 Inetinfo.exe 中。3.2.2 IIS 6.0 核心组件整个逻辑结构图如下:IIS 6.0 核心组件由内核模式进程和用户模式进程组成:(1) HTTP.sys:是将 HTTP 请求传送到用户模式应用程序的内核模式设备驱动程序。 (2) WWW 服务管理和监视组件:配置“万维网发布服务”(WWW 服务)并管理工作进程。 (3) 工作进程:处理提交到分配给它们的 Web 应用程序的请求。 而IIS4.0/5.0版本的Inetinfo进程虽然也存在,但是已经不再处理HTTP请求,而是处理FTP、SMTP和NNTP等非HTTP请求了。(1) HTTP.sys内核模式HTTP侦听程序超文本传输协议 (HTTP) 侦听程序被实现为名为 HTTP.sys 的内核模式设备驱动程序。HTTP.sys 是 Windows 网络子系统的一部分。然而,HTTP.sys 却用作 IIS 6.0 的一个核心组件。通过把 HTTP.sys 作为内核模式组件来运行,IIS 6.0 提供了下面两种增强的性能:通过直接分派给来自内核的正确进程,处理请求只需要较少的上下文切换开销; 通过启用内核模式缓存,无需切换到用户模式即可处理缓存的返回请求。 HTTP.sys 如何工作?当在 IIS 中创建网站时,使用 HTTP.sys 注册站点,然后 HTTP.sys 将 Web 请求传送到正在运行网站的用户模式进程中。HTTP.sys 也将响应送回客户端。除了从其内部缓存中检索存储的响应以外,HTTP.sys 并不处理它所接收到的请求。因此,应用程序特定代码永远不会加载到内核模式中。这使得应用程序特定代码错误不会影响到内核模式进程或导致系统故障。HTTP.sys 还提供了 IIS 使用的其他服务,包括以下内容:a) 管理传输控制协议 (TCP) 连接;b) 将 HTTP 请求传送到正确的请求队列中;c) 以内核模式缓存响应; d) 执行所有基于文本的 WWW 服务日志记录;e) 实现“服务质量”(QoS) 功能,其中包括连接限制、连接超时、队列长度限制和带宽限制。 (2) WWW 服务管理和监视组件WWW 服务管理和监视是“万维网发布服务”(WWW 服务)的新组件。它负责管理任务和进程管理。在管理角色下,WWW 服务管理和监视将实现 WWW 服务的服务控制功能;与配置数据库交互以获得传递给 HTTP.sys 或在管理工作进程时所使用的配置数据;并支持剩余运行时服务管理。在管理角色下,WWW 服务管理和监视负责管理工作进程,其中包括启动工作进程以及维护其在运行时的信息。 WWW 服务管理和监视以用户模式在非共享的 svchost.exe 下运行,而且是作为 LocalSystem 运行。(3)工作进程(WP,Worker Process)工作进程是以用户模式运行的应用程序。它的一般角色包括处理请求以返回静态页面、调用 Internet 服务器 API (ISAPI) 扩展或筛选器或运行通用网关接口 (CGI) 处理程序。工作进程在物理上被实现为名为 W3wp.exe 的可执行文件,并由“WWW 服务管理和监视”进行控制。在默认情况下,工作进程作为 Network Service 来运行,这使之具有与所需要的功能相兼容的最强安全性(最少的访问权)。工作进程使用 HTTP.sys 用于在 Web 上发送请求和接收响应。工作进程也运行应用程序代码,如 Microsoft ASP.NET 应用程序。根据 IIS 的配置情况,可以有多个运行的工作进程来同时处理不同的 Web 应用程序。这种设计通过进程边界将应用程序隔离起来,并有助于实现 Web 服务器的最大可靠性。 3.2.3 IIS 隔离模式IIS 6.0 在被称为应用程序隔离模式(隔离模式)的两种不同操作模式下运行,它们是:工作进程隔离模式和 IIS 5.0 隔离模式。这两种模式都要依赖于 HTTP.sys 作为超文本传输协议 (HTTP) 侦听程序;然而,它们内部的工作原理是截然不同的。工作进程隔离模式利用 IIS 6.0 的重新设计的体系结构并且使用工作进程的核心组件。IIS 5.0 隔离模式用于依赖 IIS 5.0 的特定功能和行为的应用程序。该隔离模式由 IIs5IsolationModeEnabled 配置数据库属性指定。您所选择的 IIS 应用程序隔离模式对性能、可靠性、安全性和功能可用性都会产生影响。工作进程隔离模式是 IIS 6.0 操作的推荐模式,因为它为应用程序提供了更可靠的平台。工作进程隔离模式也提供了更高级别的安全性,因为运行在工作进程中的应用程序的默认标识为 Network Service。而以 IIS 5.0 隔离模式运行的应用程序的默认标识为 LocalSystem,该标识允许访问并具有更改计算机上几乎所有资源的能力。工作进程隔离模式提供了增强的隔离性、可靠性、可用性和性能。除非由于特定的兼容性问题需要使用 IIS 5.0 隔离模式,否则使用工作进程隔离模式。 工作进程隔离模式工作进程隔离模式利用了所有新的 IIS6.0 核心组件。使用工作进程隔离模式启用应用程序池、回收和运行状况检测功能。下图说明了以工作进程隔离模式运行的 IIS6.0 体系结构。在上图中,可以看到仅将应用程序特定代码加载到工作进程中。应用程序特定代码的示例是 ASP 和 ASP.NET 应用程序,因为这些编程平台的运行时引擎都是作为 Internet 服务器 API (ISAPI) 扩展来实现的。这种体系结构使得 IIS 非常可靠,因为不管在工作进程中发生了什么服务中断,万维网发布服务(WWW 服务)、IIS 管理服务和 HTTP.sys 都能不受其影响并且连续运行。同样,运行在工作进程中的网站也不受运行在其他工作进程中的故障影响,因为它们通过进程边界彼此相互隔离。下面的步骤说明了如何以工作进程隔离模式处理请求:1. 请求到达 HTTP.sys。 2. HTTP.sys 确定请求是否有效。如果请求无效,它将向客户端返回一个无效的请求代码。 3. 如果请求有效,HTTP.sys 检查响应是否存在于其内核模式缓存中。 4. 如果缓存中存在该响应,HTTP.sys 会立即返回该响应。 5. 如果没有缓存该响应,HTTP.sys 将确定正确的请求队列,并将此请求放在队列中。 6. 如果没有为队列指派工作进程,HTTP.sys 将通知 WWW 服务启动一个工作进程。 7. 工作进程将该请求从队列中取出并对其进行处理。 8. 工作进程将响应返回给 HTTP.sys。 9. HTTP.sys 将响应返回给客户端并记录该请求(如果做这样的配置的话)。 IIS 5.0 隔离模式IIS 5.0 隔离模式确保为 IIS 5.0 而开发的应用程序的兼容性。以 IIS 5.0 隔离模式运行的 IIS 6.0 请求处理与在 IIS 5.0 下的请求处理几乎完全相同。在 IIS 5.0 隔离模式中,应用程序池、回收和运行状况检测功能都不可用。在 IIS 5.0 隔离模式中,HTTP.sys 以在工作进程隔离模式中相同的方式使用。唯一的例外是它仅把请求传递到由 WWW 服务维护的单个请求队列中。根据隔离模式的配置情况 - 在进程内、在池中或者在进程外 - 请求将会在 Inetinfo.exe 或 DLLHost.exe 中进行处理。3.2.4 Web 应用程序隔离应用程序隔离是指按进程边界来隔离应用程序,以防不同的应用程序互相影响。工作进程隔离模式中的 Web 应用程序隔离 使用以工作进程隔离模式运行的 IIS 6.0,可以把 Web 应用程序分组编入“应用程序池”。应用程序池允许将特定配置设置应用于多个应用程序组,并允许工作进程为这些应用程序提供服务。可向应用程序池指派任何 Web 目录或虚拟目录。应用程序池中的每个应用程序都共享相同的工作进程。因为每个工作进程都作为工作进程可执行文件 (W3wp.exe) 的单独实例操作,所以为应用程序池服务的工作进程之间是相互分离的。这就确保在 Web 应用程序发生故障时,它不会影响运行在其他应用程序池中的应用程序。可以配置和管理应用程序池来使用下面的功能:(1) 应用程序池运行状况检测 (2)工作进程回收 (3)Web 园 (4)处理器关系 (5)应用程序池标识 (6)IIS_WPG 组 (7)预定义的帐户 (8)可配置的帐户 (1)应用程序池运行状况检测通过检测应用程序池的稳定(或运行状况)的程度,IIS 确定是否需要纠正操作。如果在指派到应用程序池的工作进程中所有可用的 IIS 线程都出现了阻塞,或者工作进程通知 IIS 存在故障,则万维网发布服务(WWW 服务)能检测到已经异常终止的不良运行状况的工作进程。(2)工作进程回收工作进程回收是 Web 应用程序的自动刷新过程,它是通过重新启动指派给它们的工作进程来实现的。回收可使存在问题的应用程序保持顺利运行,尤其是在无法修改应用程序代码时。当发生回收事件时,当前正在处理应用程序池的工作进程就会终止,然后 WWW 服务会重新启动新的工作进程来替换它。(3)Web 园Web 园是被配置用来运行多个工作进程的应用程序池。Web 园中的工作进程共享对特定应用程序池的请求,从而可增强应用程序池中应用程序的性能和可靠性。(4)处理器关系处理器关系是应用程序池的属性,该属性强制工作进程运行在特定的微处理器或 CPU 上。它应用于处理特定应用程序池的所有工作进程。使用了 Web 园和处理器关系的高级配置可用在多处理器的计算机上,这样计算机中的 CPU 群集能专注于特定的应用程序池。通过将特定网络接口卡关系设置到特定 CPU 上,可以进一步地使用该配置。(5)应用程序池标识应用程序池标识是一种用户帐户,应用程序池中的工作进程将使用该帐户作为其进程标识。“进程标识”是操作系统术语,用来表示进程运行在其下的帐户。每个运行在基于 Microsoft Windows NT操作系统上的进程都具有进程标识,用来控制对系统资源的访问。可以将预定义的帐户或用户可配置的帐户指派给应用程序池标识。选择标识当选择应用程序池标识时,应选择具有应用程序所需要的最少特权的标识。如果编码如此,Internet 服务器 API (ISAPI) 扩展会很容易地作为工作进程标识运行。在这种情况下,ISAPI 扩展所进行的操作都在工作进程标识的上下文环境中。当工作进程标识设置为具有高特权的帐户(如本地系统)时,结果可能是应用程序被赋予了超出经过身份验证的用户范围的权限。因此,请考虑将工作进程标识设置为具有低特权的帐户以防止 ISAPI 扩展以这种方式提高其特权。这样做可以防止应用程序破坏安全性。(6)IIS_WPG 组IIS_WPG 组是由 IIS 6.0 提供的用户组。IIS_WPG 组提供了 IIS 所需的最少特权集,并且,由于不必为标识手动指派特权,IIS_WPG 组为标识帐户使用特定的用户提供了方便的方法。如果帐户不在 IIS_WPG 组中且不具备相应的权限,则工作进程将无法启动。(7)预定义的帐户预定义帐户也称为“服务用户帐户”,它由操作系统创建。IIS 允许用户为应用程序池标识选择下面的预定义帐户:网络服务 (NetworkService) 本地系统 (LocalSystem) 本地服务 (LocalService) 在默认情况下,这些帐户都是 IIS_WPG 组成员,并且应用程序池标识设置为网络服务帐户,该帐户是这三个帐户具有最低特权的帐户。在配置帐户及其生效前,建议将应用程序的安全要求与预定义帐户的权限级别进行比较。(8)可配置的帐户当使用该选项时,必须为应用程序池标识指定本地计算机或域用户名和密码。指定的帐户应该是 IIS_WPG 用户组的成员。如果用户帐户不在 IIS_WPG 组中,必须手动应用工作进程所需要的适当资源上的 ACL 设置,尽管不建议这样做。4 解决方案优势4.1 为什么选择微软国内外信息化建设的成功经验表明,建设大型网站系统需要引入高质量的战略合作伙伴、系统集成商和产品供应商,形成网站信息化建设的良性生态环境。微软公司是全球公认的最优秀的信息技术公司之一,微软公司在全球许多国家和地区,拥有丰富的网站服务核心基础架构建设经验,特别是建设“网站服务”的项目经验。通过与微软公司合作、形成长期战略合作伙伴关系,可以借助微软公司在信息化建设的整体规划、系统设计、开发建设、安全部署、运行维护及项目管理等过程的经验和方法,有效减小建设“Web服务核心基础架构”的技术风险、提高成功把握。事半功倍的完成公司所需,快速提升IT生产力。4.2 为什么选择微软的IIS 6.0从上面的解决方案建议分析中可以看出,IIS 6.0新的体系结构在可靠性、扩展性和安全性上都具有很大的提升,针对目前企业的网站服务存在的问题,IIS6.0特性和优势能帮你的企业构建高可靠、高性能、高安全的理想的Web网站。 4.2.1 构建企业网站的高可用性和高可靠性针对企业目前的Web服务器体系结构无法提供网站服务的高可用性和服务器的可靠性,微软IIS 6.0具有如下的高可用性、高可靠的特性和功能,可以保证您的企业网站能7*24小时不停顿的运转:工作进程隔离模式可将 IIS 6.0 配置为在工作进程隔离模式下运行。在这种模式中,对于每一个Web应用,IIS 6.0都用一个独立的w3wp.exe的实例来运行它。w3wp.exe也称为工作进程(Worker Process)。可靠性的提高是因为一个 Web应用的故障不会影响到其他Web应用,也不会影响处理http请求的http.sys驱动程序。多个应用程序池工作进程隔离模式允许客户创建多个应用程序池,可以把 Web 应用程序分组编入“应用程序池”。为应用程序池服务的工作进程之间是相互分离的。这就确保在 Web 应用程序发生故障时,它不会影响运行在其他应用程序池中的应用程序。应用程序池队列长度限制应用程序池队列长度限制可防止大量请求排队等候及重载服务器。当启用应用程序池队列长度限制时,IIS 在将新请求加入队列前,先监视指定的应用程序池队列中的请求数量。如果将新的请求添加到队列时,超出了队列的大小限制,服务器会拒绝请求。可以避免因对无限个请求进行排队,导致服务器的内存出现不足而出崩溃。 内核模式队列HTTP 请求的处理被转移到 http.sys内核模式组件。输入请求排队等待处理,每个应用程序池有自己的独立队列。这增加了 IIS 的可靠性,因为即使应用程序失败,输入请求仍继续排队。一旦应用程序又一次被在线产生,可从队列中获得请求而什么也不会丢失。 运行状况监视在工作进程隔离模式中,WWW 服务监视工作进程的运行状况,而且,如果该进程不响应,会终止该进程并替换为另一个进程。运行状况监视有助于使进程保持运行并向用户提供更可靠的服务。 快速失败保护可将 IIS 配置为在工作进程隔离模式下使用快速失败保护来在特定应用程序池发生多次连续失败时自动禁用应用程序池,来保证Web服务器不受影响,能继续对其它的Web应用提供服务。 回收工作进程可将 IIS 配置为在工作进程隔离模式下定期重新启动应用程序池中的工作进程。当启动新进程时,它将任何请求接收到该应用程序池,以前的工作进程同时完成它在队列中的请求。回收工作进程使您无需中断对用户提供的服务就可管理有问题的应用程序(如有内存泄漏的程序)。孤立工作进程如果一个工作进程无法响应来自“WWW 服务管理和监视”组件的查询,则可以将它在工作进程隔离模式下配置为与应用程序池“分离”,而不是终止它,并启动一个新工作进程来代替它。因为该进程仍在运行,所以可针对它执行诊断。监视工作进程的运行状况万维网发布服务(WWW 服务)通过定期 Ping 工作进程来确定其响应情况,监视工作进程的运行状况。如果工作进程没有对 Ping 做出响应,则 WWW 服务会终止该工作进程并创建另一个工作进程作为替换。此外,WWW 服务会保留每个工作进程的通信信道,并能够检测到通信信道的中断,这表示工作进程失败。如果工作进程由于其自身的原因失败,WWW 服务则将启动另一个工作进程取代它。4.2.2 轻松地管理和维护企业网站针对企业对网站管理和维护的存在沉重的压力和负担,微软的IIS可以为您提供各种管理功能和管理工具,最大限度的满足客户的管理要求。下面列出包含在 IIS 6.0 中的几个站点管理维护的功能和管理工具的改进:纯文本配置数据库IIS 6.0的配置数据不采用二进制文件结构,而是由两个XML文件构成,:一个是Metabase.xml,包含IIS 6.0服务器的配置信息;另一个是mbschema.xml,包含配置数据的模式定义。 因为 MetaBase.xml 和 MBSchema.xml 文件以纯文本形式存储,所以可使用任何纯文本编辑器读取它们。存储配置数据库历史可快速恢复到早期版本的配置数据库,从而防止服务长时间中断。通过将每个版本的配置数据库文件复制到历史文件夹中,将自动跟踪到的对配置数据库进行的更改写入磁盘中。每个历史文件都用一个唯一的版本号标识,以后在恢复配置数据库的过程中可使用它们。在 IIS 运行时编辑配置数据库文件可在 IIS 运行时直接编辑配置数据库文件,所做更改可直接应用于内存中的配置数据库。该功能也称作“运行时编辑”,因为 MetaBase.xml 是文本文件,所以可实现该功能。如果启用了运行时编辑功能,则可以使用常见的文本工具(如 Microsoft 的记事本)来完成直接编辑。命令行管理脚本命令行管理更便于高效执行管理任务。IIS 为下列任务提供脚本:创建、删除、启动、停止和列出网站 ; 创建、删除、启动、停止和列出 FTP 站点;创建或删除 Web 虚拟目录;创建或删除应用程序;导出或导入 IIS 配置;备份或还原 IIS 配置 导入和导出站点和应用程序配置为了在任何节点级别的多个服务器之间传播站点和应用程序配置设置,IIS 支持两个管理基本对象 (ABO) 方法:Import() 和 Export()。使用这些方法,可将一个节点或整个树以及继承配置从任何级别的配置数据库导出到 XML 文件中,然后从 XML 文件中导入一个节点或整个树以及继承配置。另外,可用这些 ABO 方法对安全数据进行密码保护。配置数据库的可靠性使用配置的备份/还原功能,可为配置数据库创建安全或不受保护的备份。管理员还可通过 IIS 管理器将配置数据库的副本还原到其他计算机。这些备份方法提供一种只还原配置数据库设置而不还原目录文件的方法。IIS WMI 提供程序Windows Server 2003 产品家族具有 Windows Management Instrumentation (WMI)(一种可缩放的管理基础结构)作为一种改善环境中 Windows 服务器管理的方法。IIS WMI 提供程序提供的管理级别等价于 IIS ADSI 提供程序的功能,但同时支持可扩展架构。而且,使用 ADSI 开发的架构扩展导入到 IIS WMI 提供程序中,从而更好地利用 WMI。远程管理IIS 包括各种帮助远程管理 IIS Web 服务器的工具。这些工具包括远程管理 (HTML) 工具、终端服务、类似 ADSI、WMI 的编程功能和一组新的命令行管理脚本。IIS 远程管理 (HTML) 工具允许您使用 Web 浏览器通过 Internet 或通过 Intranet 远程管理 IIS。终端服务是 Windows Server 2003 产品家族的一个功能,它允许您在个人计算机和其他计算机桌面上运行的终端和终端模拟器上运行 32 位 Windows 应用程序。这使您能够像在服务器控制台上那样远程管理 Windows 服务(如 IIS)。您可以从旧式 PC 或者甚至从具有兼容客户端软件的某些设备(如 UNIX 工作站)进行管理。但是,基于非 Windows 的客户端设备需要第三方附加软件。可远程管理的证书对象使用脚本,可处理本地或远程计算机上的安全 套接字层 (SSL) 证书。组件对象模型 (COM) 对象允许您执行添加、删除、备份和还原功能,它们会绕开 MMC 施加的约束。4.2.3 更高、更强大的性能和可伸缩性针对目前企业Web应用程序对 Web 服务器的性能和可伸缩性提出了更高的要求,微软的IIS6.0可以满足企业需要在一个服务器上运行更多的应用程序和站点,直接减少宿主站点所需的服务器。下面列出包含在 IIS 6.0 中的几个性能上增强的特性:内核模式设备驱动程序HTTP.syshttp.sys驱动程序的任务是处理HTTP请求,而且它在内核模式下执行操作。https.sys内核模式驱动程序极大地减少了用户模式和内核模式之间的切换次数。http.sys监听着HTTP请求,决定由哪一个用户模式的进程来处理该请求,或者是否由驱动程序本身返回用户请求的内容。,减少了切换到用户模式的昂贵开销,能够从内核模式的缓冲区快速返回应答。基于这些更改,IIS 已经提高了多处理器计算机的吞吐量和可伸缩性,从而大大增加了单个 IIS 6.0 服务器可以主控的站点数和同时活动的工作进程数,直接减少宿主站点所需的服务器。 ASP 磁盘缓存Active Server Pages (ASP) 处理包含 ASP 脚本的模板、将处理过的模板存储在缓存中并充当客户的缓存模板。在默认情况下,可在内存中缓存 250 个模板。如果一个站点大量使用 ASP,则该内存中模板缓存不能存储所有必需的模板。IIS 包括持续的缓存,因此如果内存中缓存的空间不足时,会将模板缓存到磁盘中。如果再次请求该 ASP 页,则 Asp.dll 无需重新编译源代码即可从磁盘中加载编译过的模板。因为缓存的 ASP 模板不会在每次调用时都进行处理,所以 ASP 模板缓存增强了性能。通过更改具有低(进程中)应用程序保护和中(共用)应用程序保护的所有应用程序的缓存模板数,或者单独更改具有高(独立)应用程序保护的应用程序的缓存模板数,可进一步改善性能。异步 CGI异步CGI改善了IIS服务器运行CGI Web应用程序的性能,使得IIS能够运行更多执行关键任务的基于CGI的应用程序。服务质量服务质量 (QoS) 包含一组方法或进程,基于服务的组织实现它们以维护特定的质量级别。在 Windows 环境中,QoS 是一组服务要求,网络必须满足这些要求才能确保适当服务级别的数据传输。QoS 的目标是为了确保特定站点或应用程序不独占服务器资源,如内存或 CPU 周期。作为管理员,您可以通过用 IIS 实现的连接限制和超时、应用程序池队列长度限制、带宽控制和进程记帐来控制为用户提供的服务的级别和质量。 容量计划跟踪IIS 的容量计划跟踪功能针对 ASP 脚本资源的使用情况(如 HTTP 响应/请求次数)来跟踪应用程序的工作负荷。可在不同的工作负荷和不同的硬件配置下收集和分析事件跟踪数据,然后使用这些数据帮助计划容量。集中的二进制日志记录IIS 6.0还拥有一种称为二进制日志的功能,启用这个功能后,IIS 6.0将把Web网站的所有日志信息写入一个二进制格式的日志文件,对于企业ISP来说,这个功能应该非常有用。ISP的每台机器上可能有1000甚至更多的Web网站,如果每个Web网站每天生成一个日志文件,日志文件的总数很快会达到一个天文数字。记录日志的改善在IIS 6.0中,记录日志的功能已经改为由http.sys实现,http.sys在内核模式下运行。这一改进加快了日志写入速度,同时避免了多个工作进程争用同一日志文件。带宽限制如果 Web 服务器使用的网络或 Internet 连接也被其他服务使用,例如电子邮件或新闻,则可能希望限制带宽以便带宽可用于其他服务。如果 Web 服务器作为多个网站的宿主,您可以单独控制每个站点使用的带宽。CPU 监视CPU 监视是一个用来监视和自动关闭占用大量 CPU 资源的工作进程的工具。CPU 监视针对单个应用程序池启用。CPU 监视工具还有助于确定哪些站点具有不能正常运行的脚本或 CGI 进程。对于 x86.0 的大内存支持在 x86 系统上,IIS 6.0 可配置为最多缓存 64 GB。多个站点,一个 IP 地址通过对主机头的支持,可以仅使用一个 IP 地址在运行 Windows Server 2003 家族的成员的一台服务器上宿主多个网站。这对于 Internet 服务提供商以及维护多个站点的公司 Intranet 非常有用。HTTP压缩 如果您的站点使用了很大的带宽,或者您希望更加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论