




已阅读5页,还剩107页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IIS使用指南之一 :IIS 6 新特性 可能很多朋友使用Windows Server 2003是因为IIS 6 的强大性能吧,和Windows 2000中包含的IIS 5 相比,IIS 6更为安全和稳定,最重要的是具有更高的性能,那么,为什么IIS 6会具有更高的性能呢? IIS 5 和 IIS 6 的架构比较 这点需要从IIS 5的架构说起。IIS 5的架构如下图所示, IIS 5 的所有组件都工作在用户模式中,核心组件INETINFO侦听WinSock端口(例如常见的TCP 80端口)。当HTTP访问请求到达时,工作在内核模式的TCP/IP驱动将其直接路由到INETINFO进程,INETINFO进程自己本身对此请求进行处理或者将其交付扩展组件(如ISAPI扩展)进行处理。IIS 5 使用COM+提供的DLLHOST基础结构方式进行工作,这种方式具有以下缺陷: 在INETINFO中执行第三方代码;这样的后果是如果执行的代码有问题,那么会导致整个Web服务器停止工作; 如果执行的代码工作在OOB方式,那么可能需要多次用户模式到用户模式的转换,这降低了执行效率; Web服务器上的所有Web站点工作在一个应用程序池内,无法实现隔离; 针对IIS 5中的种种问题,微软将IIS 5的代码推倒重来,重新设计了IIS 6并在Windows Server 2003中提供。IIS 6的架构如下图所示, 可以从上图中看到,INETINFO进程虽然也存在,但是已经不再处理HTTP请求,而是处理FTP、SMTP和NNTP等非HTTP请求了。在IIS 6中,Web服务组件由以下三个组件构成: 运行在内核模式的HTTP.sys(HTTP协议栈); 运行在用户模式的WAS(Web Admin Service,包含于W3SVC服务中); 运行在用户模式的工作进程(WP,Worker Process) HTTP.sys(HTTP协议栈) HTTP.sys是工作在内核模式的HTTP请求侦听器,它的架构如下图所示: HTTP.sys不会执行外部代码,它具有以下作用: 侦听和分析HTTP请求,支持IPv4和IPv6; 根据URL命名空间将接收到的HTTP请求路由到不同的工作进程;如果请求的URL并不位于本地的URL命名空间范围中,则返回400错误; 将HTTP请求进行队列缓存; 在内核模式中缓存静态的和无需身份验证的内容响应;这极大的提高了Web服务的响应速度,增强了Web服务器的性能。 支持PAE内存寻址方式,在x86上支持的内存容量为64GB; WAS(W3SVC) WAS包含于W3SVC服务中,它负责管理IIS 6中的配置、应用程序池和工作进程,它工作在用户模式,但不会执行外部代码。 它主要具有以下作用: 配置HTTP.sys; 管理应用程序池; 创建工作进程; 工作进程回收; 工作进程状态监视; 工作进程快速失败保护; 支持孤立工作进程以进行调试等; 工作进程(WP,Worker Process) 在介绍工作进程之前,需要先介绍应用程序池。应用程序池定义了可以共享工作进程的Web应用程序(Web站点)的集合,你可以认为它是一组URL命名空间,属于此URL命名空间范围中的Web站点将共享此应用程序池中的工作进程,而HTTP.sys是根据应用程序池所定义的URL命名空间将接收到的HTTP请求路由到此应用程序池对应的工作进程。 和IIS 5 中只能使用一个应用程序池不同,在IIS 6 中你可以创建多个应用程序池,并将不同的Web站点(Web应用程序)分配到不同的应用程序池中,一个应用程序池可以具有一个或多个Web应用程序。不同应用程序池之间是完全隔离的,某个应用程序池出现故障时不会影响其他应用程序池;这样当属于某个应用程序池的Web站点因为代码编写问题而导致停止服务时,不会影响到使用其他应用程序池的Web站点,这最大的实现了Web服务器的高可用性。 在IIS 6中提供了Web园功能,支持使用超过1个的工作进程,并且支持在SMP系统中为工作进程分配CPU亲缘关系,让其只在某些CPU上运行。 工作进程则是真正用于处理客户发送的HTTP请求的组件,你可以认为它是一个全功能的Web服务器,就像一个微型的IIS 5 服务器一样。当HTTP.sys决定将接收到的HTTP请求路由到某个应用程序池时,它是将HTTP请求路由到此应用程序池对应的工作进程进行处理;工作进程处理HTTP请求,如果需要则加载其他组件(ISAPI扩展或过滤器等等)进行处理,并将处理结果返回给HTTP.sys。 当客户发起HTTP连接请求时,IIS 6完整的处理过程如下: 在W3SVC服务启动时,WAS即启动,并且根据metabase.xml中的设置来配置HTTP.sys; 当HTTP.sys接收到HTTP请求时,分析其URL命名空间,如果在自己的响应缓存中具有匹配值则直接从缓存中获取响应并返回给客户,如果没有匹配值则根据WAS提供的URL命名空间 范围来决定由哪个应用程序池处理此HTTP请求; 如果此应用程序池当前没有工作进程,那么HTTP.sys通知WAS为其创建一个新的工作进程; HTTP.sys将接收到的HTTP请求路由到对应的工作进程中,工作进程处理此HTTP请求然后将结果返回给HTTP.sys,并且根据缓存活动算法来告知HTTP.sys是否缓存此结果; HTTP.sys将请求的处理结果返回给原始客户,并根据工作进程的提示来决定是否保存此处理结果到自己的缓存中。 IIS 6 新特性 从上面的比较可以看出,IIS 6 和 IIS 5 相比在可靠性、扩展性和安全性上都具有很大的提升,它主要具有以下新特性: 可靠性:由于Web应用程序在不同的工作进程中执行,并且基于WAS完善的隔离、监控和恢复机制,当某个应用程序池出现问题时,不会影响其他应用程序池并且能够得到最快的恢复。 扩展性:通过全新设计的架构,IIS 6显著的提高了Web服务器的吞吐量和性能,从而在以下方面得到了提高: IIS 6 Web服务器可以架设的Web站点数; 并发活动工作进程数; Web服务器或Web站点的启动和停止性能; Web服务器可以处理的并发请求数; 安全性:和安装Windows 2000服务器时会默认安装IIS 5并启用ASP支持不同,在安装Windows Server 2003 标准版/企业版/数据中心版时默认并不会安装IIS 6,并且在安装IIS 6时,默认只能访问静态内容并且禁止使用父路径访问。管理员可以根据自己的需要在IIS管理器中启用或禁用Web服务扩展。 可管理性:为了迎合企业中管理的需要,IIS 6中提供了多种管理工具,例如你可以通过IIS管理器、运行脚本或者直接修改IIS Metabase来配置IIS,你也可以安装IIS的远程管理组件来进行远程管理。 增强开发支持:在IIS 6中提供了ASP.NET的支持,并且也支持XML、SOAP和IPv6。 IIS 6 中的应用程序隔离模式 和IIS 5 的架构相比,IIS 6 的新架构具有更高的性能、稳定性和可用性,但是IIS 6这种新架构所运行的隔离模式(工作进程隔离模式)不支持使用以下特性的Web应用程序: COM+ OOB; 会话状态保存在工作进程中:在回收工作进程时会话状态就会丢失(IIS 6 中默认会在一定空闲时间后回收工作进程); 多实例ISAPI:为由多个进程加载所编写的并且并发运行的 ISAPI 应用程序。 工作外进程:所编写的将请求转给其他工作进程的应用程序。 不过微软为了保持后向兼容,在IIS 6 中除了提供工作方式如上文所描述的工作进程隔离模式外,还提供了工作方式几乎和IIS 5一样的IIS 5 隔离模式,当工作在IIS 5 隔离模式下,IIS 6的架构如下图所示: 当IIS 6 工作模式为IIS 5 隔离模式时,它和IIS 5 的工作方式基本一样。而当IIS 6 工作在工作进程隔离模式下时,根据IIS 6的新架构,在隔离环境中运行所有应用程序代码,并且由于在应用程序池间切换所需要的指令很少,在隔离方式下运行代码并不会带来性能的降低。工作进程隔离模式和目前的绝大部分Web站点和Web应用程序兼容,并且可以获得更高的安全性和性能,和IIS 5 隔离模式相比,运行在工作进程隔离模式主要具有以下好处: 支持使用多个应用程序池,并且每个应用程序池可以具有不同的配置;而IIS 5 隔离模式只能使用一个应用程序池并且不能进行配置; 工作进程的运行账户为网络服务账户而不是IIS 5 隔离模式中的本地系统账户; 支持在一个应用程序池中使用多个工作进程;支持工作进程CPU亲缘关系设定;支持工作进程回收以减少系统资源的占用;支持工作进程状态监控; 支持工作进程快速失败保护;支持孤立工作进程以进行调试等; 在应用程序池之间完全隔离; 因此强烈推荐你将IIS 6运行在工作进程隔离模式下,除非你的Web应用程序明确说明不支持运行在此模式下。 IIS使用指南之二 :安装和配置IIS 建议你在阅读本文之前,先阅读IIS使用指南之一 :IIS 6 新特性一文,只有当你了解IIS 6的新特性后,才能更好的使用它。如非特别说明,本文中所有涉及的IIS均指Windows Server 2003中提供的IIS 6。 安装IIS 在安装IIS之前,你需要考虑如何增强IIS服务器的安全性,首先的一点就是减少IIS服务器的攻击面。在IIS服务器上你首先应该安全配置Windows服务器;使用NTFS文件格式;尽可能少的安装其他网络服务;停止不相关的服务;并且只是安装需要的IIS组件。 安装IIS的过程很简单,点击开始,指向控制面板,选择添加或删除程序,然后点击添加/删除Windows组件,在弹出的Windows组件向导对话框,勾选应用程序服务器下的Internet信息服务(IIS)即可。需要注意的是,从安全性考虑,在Windows Server 2003中安装IIS时,默认只会安装IIS的部分组件而不是全部,安装的组件如下表所示: 默认安装的IIS组件说明 组件名默认设置推荐设置FrontPage 2002 Server Extensions禁用提供对在FrontPage中发布Web站点的支持,根据你自己的需要来决定是否启用,建议不启用。Internet打印禁用Internet打印服务组件,请根据你自己的需要来决定是否启用。Internet信息服务管理器启用用于本地管理IIS的MMC单元。NNTP Service禁用网络新闻传输服务组件,请根据你自己的需要来决定是否启用。SMTP Service禁用SMTP服务组件,请根据你自己的需要来决定是否启用 ,例如安装Exchange服务器则需要安装此组件。公用文件启用IIS所必需的程序文件。后台智能传送服务(BITS)服务器扩展禁用BITS是一种后台文件传送机制,被Windows更新或自动更新所使用,只有你的应用程序需要此功能时才启用 ,例如安装WSUS服务器则需要安装此组件。万维网服务启用Web服务组件,这是IIS最常用的组件。它包含了多个子组件,详见下表。文件传输协议(FTP)服务禁用FTP服务组件,根据你的需要来决定是否启用。 默认安装的万维网服务组件说明 组件名默认设置推荐设置Active Server Pages安装此组件但是禁止使用ASP脚本支持组件,从安全性考虑,默认情况下虽然安装但是禁止使用 ,你可以在此勾选它,那么它将默认启用;或者你可以在此保持默认设置,以后再手动启用。Internet数据连接器安装此组件但是禁止使用通过.idc文件提供的动态内容支持, 从安全性考虑,默认情况下虽然安装但是禁止使用,你可以在此勾选它,那么它将默认启用;或者你可以在此保持默认设置,以后再手动启用。WebDav发布安装此组件但是禁止使用WebDAV扩展了HTTP 1.1协议,使其支持Web内容的发布和管理, 从安全性考虑,默认情况下虽然安装但是禁止使用,你可以在此勾选它,那么它将默认启用;或者你可以在此保持默认设置,以后再手动启用。万维网服务启用IIS Web服务的核心组件远程管理(HTML)禁用支持从HTML界面远程管理IIS,你可以根据需要 进行安装。远程桌面Web连接禁用支持从Web页面连接到终端服务的组件 ,你可以根据需要进行安装。在服务器端的包含文件安装此组件但是禁止使用提供对.shtm、.shtml、和.stm文件的支持, 从安全性考虑,默认情况下虽然安装但是禁止使用,你可以在此勾选它,那么它将默认启用;或者你可以在此保持默认设置,以后再手动启用。如果你只是想提供Web服务,那么IIS安装的默认组件已经完全满足你的需求。在此我仅安装Web服务组件,所以勾选Internet信息服务(IIS)后依次点击确定,然后在Windows组件向导对话框上点击下一步,此时Windows服务器开始IIS组件的安装,安装过程中可能提示你插入安装光盘,当安装完成后IIS就安装好了。 配置IIS 通常情况下对于IIS本身我们需要做的配置不多,主要集中在以下几个方面: 配置IIS的应用程序隔离模式; 配置HTTP压缩; 配置MIME类型; 配置Web服务扩展; 配置应用程序池。 配置IIS的应用程序隔离模式 我们在IIS使用指南之一 :IIS 6 新特性中介绍过,默认情况下IIS 6工作在工作进程隔离模式下,如果你的Web应用程序不能兼容此模式,那么你需要将IIS 6配置为工作在IIS 5 隔离模式下,配置过程如下: 点击开始,指向控制面板,然后选择Internet信息服务(IIS)管理器,在弹出的Internet信息服务(IIS)管理器上右击网站文件夹,选择属性,然后在弹出的网站属性对话框上点击服务标签,在隔离模式下勾选以IIS 5.0隔离模式运行WWW服务即可,需要重启整个IIS服务。 配置HTTP压缩 如上图中的配置,你可以看到IIS 6支持HTTP压缩。HTTP压缩是一种牺牲CPU性能来降低带宽消耗的功能,如果IIS中启用了HTTP压缩并且客户端浏览器支持HTTP压缩,那么IIS在传送文件之前,会对数据进行压缩后再进行传送。它的工作原理是这样的: IIS接收到客户端浏览器发送的请求时,将检查客户端浏览器是否支持HTTP压缩;然后IIS检查客户端浏览器请求的文件的扩展名,以确定请求的文件为静态文件或包含动态内容。 如果为静态文件,IIS将查看是否已将此文件以压缩格式存储在临时目录中。如果文件没有以压缩格式存储,IIS会将未压缩的文件发送至发起请求的客户端浏览器,并将此文件进行压缩后存储在临时目录中;如果文件已经以压缩格式存储在临时目录中,IIS会将压缩过的文件发送给浏览器。在客户端浏览器首次请求之前,IIS不会压缩任何文件;在客户端浏览器首次请求某个文件之前,此文件不会被压缩;并且在客户端浏览器首次请求某个文件时,它获得的文件并未经过压缩。 如果文件包含动态内容(应用程序文件),IIS将首先针对动态内容生成响应,然后对生成的响应进行压缩,并将压缩后的响应发送至客户端浏览器;IIS不对此响应进行存储。 压缩静态文件所消耗的CPU性能较少,并且通常只需要压缩一次,然后就保存在缓存的临时目录中;压缩动态内容的代价要高一些,因为它们并不存储在临时目录中,并且每次请求时都必须重新生成。推荐你只压缩静态文件,而不压缩应用程序文件。当然,如果你认为与CPU性能消耗相比你更在乎带宽的利用率,那么也可以压缩应用程序文件;微软建议在CPU利用率已经达到80以上时,不对应用程序文件进行压缩。 当配置HTTP压缩时,根据你的需要选择压缩静态文件和压缩应用程序文件,如果要压缩应用程序文件,则必需勾选压缩静态文件,然后输入压缩后的内容的缓存临时目录,默认为%windir%IIS Temporary Compressed Files,然后输入所存储的压缩内容的最大容量即可,默认为不受限制。 配置MIME类型 从安全性上考虑,IIS 6中只是定义了常见的MIME类型(文件扩展名),而没有和IIS 5一样包含通配符MIME映射。这样当客户端浏览器从IIS 6 Web服务器上请求某个文件时,如果该文件的扩展名并没有在IIS的MIME类型中进行定义,IIS 会返回404错误-文件或目录未找到。对于使用Access数据库的站点,为了防止别人下载Access数据库,有些文章中介绍了将Access数据库改名为.asp来防止下载的方法,这并不安全,最好的办法就是将Access数据库的扩展名修改为MIME类型中未定义的扩展名,这样别人就无法访问此数据库。 当然,有时你需要添加MIME类型。你可以在IIS全局、网站、单个网站这三个级别上添加MIME类型,默认的MIME类型定义在IIS全局属性中,而网站属性中定义的MIME类型可以覆盖所有网站中的MIME类型定义,在单个网站上定义的MIME类型只会影响此站点。 在IIS全局上添加MIME类型的过程如下: 在IIS管理控制台中右击服务器名,然后选择属性; 在弹出的计算机属性对话框上点击MIME类型按钮; 在MIME类型对话框中,你可以创建、修改、删除MIME类型,在此我为ISO文件创建一个MIME类型,点击新建按钮; 在扩展名栏中,键入对应的文件扩展名.iso,如果你不输入“.”(例如只输入ISO),那么IIS会自动为你添加;如果你想添加通配符MIME映射,即允许访问任何没有MIME类型定义的文件,则在扩展名栏输入“*”,不过不推荐使用这种方式。然后在MIME类型栏,输入application/octet-stream,最后点依次击确定即可。 而在网站或单个网站上添加MIME类型定义则是右击网站或单个网站,然后选择属性,点击HTTP头标签中的MIME类型按钮即可进行配置。 配置Web服务扩展 Web服务扩展是IIS中用于处理动态内容请求的扩展组件,在IIS中支持以下两种方式的Web服务扩展: ISAPI(Internet Server Application Programming Interface)扩展; CGI(Common Gateway Interface)应用程序; 它们之间的工作原理基本相同,主要是实现机制不同。ISAPI和CGI之间最大的区别在于ISAPI扩展基本以动态链接库的形式存在,而CGI以可执行程序形式存在;ISAPI方式运行的Web服务扩展可以在被用户请求激活后长驻内存,从而减少加载DLL的时间,因此具有比CGI方式更高的效率。 从安全性上考虑,在安装IIS时,默认情况下会安装以下四个Web服务扩展但是并不启用,因此只能支持静态内容的访问: Active Server Pages Internet数据连接器 WebDav 在服务器端的包含文件 你可以根据你的需要添加或删除自定义的Web服务扩展,而对于IIS内建的Web服务扩展则只能禁用或启用。 对于这些内置的Web服务扩展,IIS已经为Web站点配置好了应用程序映射,你只需要启用这些Web服务扩展,就可以在Web站点中启用对相应动态内容的访问。 如果要启用某个系统自带的Web服务扩展,则在IIS管理控制台中点击Web服务扩展文件夹,然后在右侧窗口中点击对应的Web服务扩展,点击允许即可,例如要启用对ASP页面的支持,则启用Active Server Pages即可; 如果要添加自定义的Web服务扩展,除了需要在Web服务扩展文件夹中进行添加外,还需要在Web站点中添加应用程序映射,我将以后专文进行描述。 配置应用程序池 IIS 6的核心在于工作进程隔离模式,而应用程序池则是定义工作进程如何进行工作,因此,可以说应用程序池是整个IIS 6的核心。 和IIS 5中只能使用单个应用程序池不同,工作在工作进程隔离模式的IIS 6可以创建多个应用程序池,不同的应用程序池之间是完全隔离的,某个应用程序池停止服务时不会影响到其他应用程序池。 在使用应用程序池之前,你应该确定你所需要的应用程序池数量。可能有很多朋友会认为,既然不同的应用程序池之间是完全隔离的,那么我只需要为每个Web站点创建一个应用程序池就可以了。这个办法在IIS服务器上具有较少的Web站点数量时可以使用,但是如果IIS服务器上具有很多Web站点数量,那么这个办法就不适用了,因为不同的应用程序池在被访问时都会创建各自的工作进程,当大量的工作进程并发工作时会消耗大量的系统资源和CPU利用率,反而会降低服务器性能。你应该根据Web站点的重要性、隔离性、所运行代码的安全性和稳定性等来对IIS服务器上所具有的Web站点进行划分,然后根据情况来决定所需要的应用程序池数量。对于那些非常重要的Web站点、需要单独隔离的Web站点、所运行代码稳定性和安全性并不可靠的Web站点配置为使用各自独立的应用程序池,而将其他普通的Web站点配置为使用一个公共的应用程序池。 默认情况下,在安装IIS时会创建一个默认网站并创建一个名为DefaultAppPool的应用程序池为其使用;默认配置下的应用程序池已经可以很好的进行工作,建议你只有在特别需要时才对应用程序池进行配置。 配置应用程序池属性 在IIS管理控制台中展开应用程序池文件夹,然后右击对应的应用程序池,点击属性,你可以在应用程序池的属性中进行以下配置: 回收 在回收标签,你可以设置工作进程的回收方式: 回收工作进程(分钟):在工作进程运行多少分钟后回收工作进程,默认启用,并且设置为1740分钟(29小时); 回收工作进程(请求数目):在工作进程处理多少 个HTTP请求后终止此工作进程,默认禁用,如果启用则默认值为35000; 在下列时间回收工作进程:在指定的时间回收工作进程,默认禁用;如需启用,勾选后点击添加按钮添加回收的时间即可,使用24小时制定义回收的时间; 消耗太多内存时回收工作进程: 最大虚拟内存(兆):当工作进程使用的虚拟内存达到设置的值时回收工作进程,默认禁用,如果启用则默认值为500 M;建议设置为不超过虚拟内存总数的70; 最大使用的内存(兆):当工作进程使用的物理内存达到设置的值时回收工作进程,默认禁用,如果启用则默认值为192 M;建议设置为不超过物理内存总数的60; 另外需要注意的是,应用程序池具有以下两种工作进程回收方式,不过这两种回收方式均不会造成Web服务的中断: 默认情况下,应用程序池使用重叠回收方式。在这种方式下,当应用程序池要关闭某个工作进程时,会先创建一个工作进程,直到新的工作进程成功创建后才关闭旧的工作进程; 应用程序池也可以先关闭旧的工作进程,然后再创建新的工作进程。 如果Web应用程序不支持多实例运行,那么你必须配置应用程序池禁止使用重叠回收方式。此配置无法在IIS管理控制台中进行修改,只能通过在metabase.xml中修改对应应用程序池的DisallowOverlappingRotation metabase属性为true进行。 性能 在性能标签你可以设置工作进程的运行方式: 在空闲此段时间后关闭工作进程(分钟):当工作进程空闲多少分钟后关闭此工作进程,这降低了空闲工作进程对系统资源和CPU性能的消耗,默认启用并且设置为20分钟; 核心请求队列限制为(请求次数):当HTTP.sys接收到某个客户端发送的HTTP请求时,如果处理此请求的对应应用程序池的工作进程还处于忙状态,则HTTP.sys将接收到的请求保存在对应应用程序池的请求队列中,直到工作进程空闲为止。此选项即用于设置此应用程序池的请求队列所能容纳的请求数量,默认情况下每个应用程序池的请求队列限制为保留1000个请求,如果超出则向客户端返回503错误,你可以根据需要适当进行修改,最大可以设置为65535。但是如果设置太大则会消耗大量的系统资源 ,而设置太小会导致客户端访问时频繁出现503错误。 启用CPU监视:监视此应用程序池的CPU使用率,默认未启用;如果某个应用程序池占用的CPU利用率过多,那么可以通过配置此选项来限制此应用程序池; 最大CPU使用率(百分比):所设置的应用程序池所能使用的最大CPU使用率;启用CPU监视时默认值为100; 刷新CPU使用率(分钟):刷新CPU使用率的间隔时间;启用CPU监视时默认值为5; CPU使用率超过最大使用率时执行的操作:当此应用程序池的CPU使用率超过所设置的最大CPU使用率时所进行的操作,启用CPU监视时默认为无,此时IIS只是在事件日志中进行记录而不进行其他操作;如果选择为关闭,那么IIS将关闭此应用程序池中的所有工作进程; Web园:在Web园中你可以配置此应用程序池所使用的最大工作进程数,默认为1,最大可以设置为4000000; 配置使用多个工作进程可以提高该应用程序池处理请求的性能,但是在设置为使用多个工作进程之前,请考虑以下两点: 每一个工作进程都会消耗系统资源和CPU占用率;太多的工作进程会导致系统资源和CPU利用率的急剧消耗; 每一个工作进程都具有自己的状态数据,如果Web应用程序依赖于工作进程保存状态数据,那么可能不支持使用多个工作进程。 运行状况 在运行状况标签你可以配置应用程序池监视工作进程的运行状况, 启用Ping:默认情况下应用程序池配置为每隔30秒Ping工作进程,当工作进程没有进行响应时,则认为此工作进程出现故障并默认配置为关闭此工作进程。你可以修改Ping的时间间隔,但是太长的Ping间隔可能会导致Web服务的中断,而太短的Ping间隔又会消耗更多的系统资源和CPU利用率,因此建议你保留默认配置; 启用快速失败保护:如果Web应用程序代码编写有问题,它可能会导致工作进程持续出现问题。默认情况下应用程序池配置为启用快速失败保护,当工作进程在配置的时间段(默认为5分钟)内发生的失败次数超过了配置的值(默认为5次),则禁用此应用程序池。 启动时间限制:IIS等待属于此应用程序池的工作进程启动的时间,当工作进程启用时间超出此设置值时,IIS会在事件日志中进行记录; 关闭时间限制:当IIS检测到某个工作进程出现故障时,将此工作进程标记为关闭,此选项指定了IIS等待工作进程自动关闭的时间限制,如果超出此时间限制后工作进程尚未关闭,则IIS强行关闭工作进程。 标识 在标识标签,你可以配置工作进程所运行的用户账户。在IIS 5或者当IIS 6运行在IIS 5隔离模式时,工作进程运行在本地系统账户,而运行在工作进程隔离模式下的IIS 6的工作进程运行在网络服务账户下,这降低了系统被攻击的可能性。 你可以配置工作进程运行在预定义的本地系统、本地服务或网络服务账户下,也可以配置为使用某个自定义的用户账户。建议使用默认的网络服务账户;不过如果为了更高的安全性,可以配置使用自定义的用户账户,不过建议你只是将此自定义用户加入到IIS_WPG用户组中,因此IIS_WPG用户组包含了可以启动和运行工作进程的最小权限。 创建应用程序池 要新建应用程序池,在IIS管理控制台中右击应用程序池文件夹,指向新建,选择应用程序池; 然后在弹出的添加新应用程序池对话框,在应用程序池ID栏输入应用程序池名,然后选择使用默认设置还是继承现有的应用程序池设置,再点击确定即可; 分配Web站点到应用程序池中 在IIS管理控制台中展开网站文件夹,右击对应的网站,然后选择属性,在弹出的网站属性对话框上,点击主目录标签,然后在应用程序池栏选择不同的应用程序池即可,默认情况下所有网站所使用的应用程序均名为默认应用程序,如果要想此网站使用不同的应用程序名,则在应用程序名栏修改即可,例如在此我就修改为winsvr,这主要是便于查看,然后点击确定即可, 此时,在对应的应用程序池下就显示出了对应网站的应用程序,如下图所示: IIS使用指南之三 :创建和配置Web站点 一个IIS服务器上可以架设多个Web站点,IIS服务器通过网站标识来区分不同的Web站点。网站标识分为HTTP标识和SSL标识两部分,一个Web站点可以同时具有多个HTTP标识或多个SSL标识,但是至少必须具有一个HTTP标识。 HTTP标识是以下三个属性的组合,只要其中一个属性在IIS服务器的所有HTTP标识中具有唯一值,则IIS服务器认为此HTTP标识是唯一的: 分配给Web站点的IP地址;此Web站点侦听客户发送的HTTP请求的IP地址; 分配给Web站点的TCP端口;此Web站点侦听客户发送的HTTP请求的TCP端口,如果不是标准的HTTP端口(TCP 80),那么客户端在访问时必须明确指定端口号; 分配给Web 站点的主机名头;此Web站点的主机名头(域名),当指定主机名头时,客户端访问时必须明确指定主机名头。 对于网站标识来说,SSL标识不是必需的,即可以不具有SSL标识。SSL标识是以下两个属性的组合,只要其中一个属性在IIS服务器的所有SSL标识中具有唯一值,则IIS服务器认为此SSL标识是唯一的: 分配给Web站点的IP地址;此Web站点侦听客户发送的HTTPS请求的IP地址; 分配给Web站点的TCP端口;此Web站点侦听客户发送的HTTPS请求的TCP端口,如果不是标准的HTTPS端口(TCP 443),那么客户端在访问时必须明确指定端口号; 当网站标识的HTTP标识和SSL标识(如果有)均是唯一的时,IIS才认为网站标识是唯一的。只有具有各自唯一的网站标识时,不同的Web站点才可以同时在IIS服务器上运行。如果发现Web站点无法启动并且提示端口被占用,那么你需要检查Web站点的网站标识是否是唯一的。 IIS服务器根据Web站点的网站标识路由客户端的访问请求到不同的Web站点,例如,如果某个Web站点的网站标识为: IP地址为: HTTP端口:TCP 80 主机名头:无 那么客户只需要通过就可以访问此Web站点。 而另外一个Web站点的网站标识为: IP地址为:0 HTTP端口:TCP 88 主机名头:无 那么客户必须通过0:88才能访问此Web站点。 如果另外一个Web站点的网站标识为: IP地址为:1 HTTP端口:TCP 80 主机名头: 客户端必须向IP 1提交主机名头才能访问此Web站点,如果只是通过1是无法访问的。 安装IIS时默认会创建一个名为默认网站的Web站点,你可以根据修改此站点的属性来迎合你的需求,也可以额外创建Web站点。 创建Web站点 你可以通过以下两种方式来创建Web站点: 使用网站创建向导创建; 使用模板文件创建。 使用网站创建向导创建Web站点 在IIS管理控制台中,右击网站,指向新建,选择网站, 在弹出的欢迎使用网站创建向导页,点击下一步; 在网站描述页,输入网站的描述,在此我输入为W,然后点击下一步, 在IP地址和端口设置页,设置此Web站点的网站标识(IP地址、端口和主机名头),在此仅能设置一个默认的HTTP标识,你可以在创建网站后添加其他的HTTP标识和SSL标识。由于IIS中的默认网站尚在运行,它的IP地址设置为全部未分配,端口为80,所以在此我必须不能设置为和默认站点冲突,因此我选择网站IP地址为;保持端口为默认HTTP端口80,不输入主机名头,然后点击下一步; 在网站主目录页,输入主目录的路径,主目录即你的网站内容存放的目录,在此我输入为c:winsvr,其实把网站主目录存放在系统分区不是安全的行为,只是在此我只有一个驱动器。默认选择了允许匿名访问网站,这允许对此网站的匿名访问,点击下一步; 在网站访问权限页,默认只是选择了读取,即只能读取静态内容,如果你需要运行脚本如ASP等,则勾选运行脚本(如ASP),至于其他权限,请根据需要慎重考虑后再选取; 最后在已成功完成网站创建向导页,点击完成,此时,Web站点就创建好了。 使用模板文件创建Web站点 除了使用向导以外,你还可以通过模板文件来创建Web站点。模板文件是保存的Web站点配置文件,它记录了保存的Web站点的所有属性,你可以通过读取它,然后创建Web站点,这适合需要创建多个相似配置的Web站点的场景。 首先你需要创建模板文件,在IIS管理器中右击需要作为模板的Web站点,在此我右击刚才创建的Web站点W,然后指向所有任务,选择将配置保存到一个文件,如果你右击网站然后再选择将配置保存到一个文件,那么会将IIS中的所有Web站点的配置保存到文件中; 然后在弹出的将配置保存到一个文件对话框上,输入保存的配置文件名,然后点击浏览按钮选择路径,如果需要加密则勾选用密码对配置进行加密,然后输入并确认密码,点击确定即可,此时此Web站点的所有配置均保存在此配置文件中。 现在我们右击Web站点W,选择删除,然后右击网站,指向新建,选择网站(来自文件),在弹出的导入配置对话框,点击浏览选择要导入的配置文件,然后在点击读文件,此时IIS读取配置文件中的配置,列出了其中包含的Web站点,选择对应的Web站点后,点击确定;此时,IIS将根据配置文件中的配置创建并启动对应的Web站点,如果和现有Web站点冲突,则此Web站点处于停止服务状态。 配置Web站点 在IIS管理控制台中右击对应的Web站点,然后选择属性,即可配置Web站点的属性,在此我仅介绍一下常用的几个配置标签: 网站 在网站标签,你可以在网站标识框修改此网站的默认HTTP标识,也可以点击高级按钮添加其他的HTTP标识和SSL标识;在连接框,你可以配置Web站点在客户端空闲多久时断开与客户端的连接,而保持HTTP连接选项有助于HTTP连接性能的提高,你应该总是启用;最后在下部你可以配置是否启用日志记录以及日志记录文件的存储路径和记录的字段。 性能 在性能标签,你可以限制网站可以使用的网络带宽和并发连接数,如果启用限制网络带宽,则勾选限制网站可以使用的网络带宽,然后输入此网站可以使用的最大带宽即可,不过IIS需要在网络适配器上安装QoS数据包计划程序;默认情况下此Web站点的并发连接数不受限制,你可以限制它可以使用的并发连接数,但是配置时请注意,设置值不应超过应用程序池所设置的核心请求队列长度。 主目录 在主目录标签,主要可以进行以下配置: 修改网站的主目录:配置为本地目录、共享目录或者重定向到其他URL地址; 修改网站访问权限:网站访问权限用于控制用户对网站的访问,IIS 6中具有以下六种网站访问权限,: 读取:用户和读取文件内容和属性,默认启用; 写入:用户可以修改目录或文件的内容;如果需要启用此权限,请在设置之前慎重考虑。 脚本资源访问:允许用户访问脚本文件的源代码,必须和读取或写入权限同时启用方可生效;如果需要启用此权限,请在设置之前慎重考虑。 目录浏览:用户可以浏览目录,从而可以看到目录中的所有文件;如果需要启用此权限,请在设置之前慎重考虑。 记录访问:当用户浏览此网站时进行日志记录,默认启用。 索引资源:允许索引服务对此资源进行索引,默认启用。 需要注意的是,网站访问权限只是完整的用户访问控制体系结构中的一部分,我将在后文介绍IIS完整的用户访问控制体系。 执行权限:执行权限用于控制此网站的程序执行级别,IIS 6中具有以下三种执行权限: 无:不能执行任何代码,只能访问静态内容; 纯脚本:只能运行脚本代码例如ASP等等,不允许执行可执行程序; 脚本和可执行文件:允许执行所有脚本和可执行程序,如果需要启用此权限,请在设置之前慎重考虑。 应用程序池:配置此网站所使用的应用程序池; 此外,点击配置可以进入应用程序配置对话框,如下图所示: 在映射标签中,你可以配置应用程序映射,即配置由哪个Web服务扩展来处理具有对应扩展名的文件,IIS默认安装的Web服务扩展如ASP等已经自动添加了应用程序映射,因此你只需要在Web服务扩展中启用;默认情况下勾选了缓存ISAPI扩展,这样以ISAPI方式运行的Web服务扩展可以在被用户请求激活后长驻内存,从而减少加载DLL的时间,否则DLL将在运行之后被卸载。你应该只有在特别需要的环境下时才取消此选项,例如调试ISAPI扩展。 在选项标签有个比较重要的选项,就是启用父路径。父路径指使用“.”相对表示当前路径的父路径的方式,由于具有安全隐患,在IIS 6中是默认禁用的,如果你的程序需要使用,则勾选此选项,不过,在启用之前,你应该检查你的应用程序,以确定不会引起安全问题。 在调试标签,同样也具有一个比较重要的选项:脚本错误的错误消息。默认情况下当脚本执行错误时,Web站点会向客户发送详细的ASP错误信息,这点有助于Web应用程序的开发;但是在正常的网站运行中,此选项也便于入侵者获取信息,因此建议你在正常的网站运行中,设置为向客户端发送下列文本错误消息,然后输入自定义的错误消息。 文档 在文档标签,你可以配置此网站使用的默认内容文档。默认内容文档指如果客户请求时并未指定请求的具体文件名时,例如客户访问/,那么按照在此配置的优先级(从上到下)在对应目录下进行搜索直到找到匹配的文件为止,然后将找到的默认内容文档返回给客户。由于搜索需要耗费系统性能和降低响应时间,因此你最好确认指定的第一个默认内容文档即存在于网站主目录中。你可以添加和删除默认内容文档,也可以选择对应名字后点击上移、下移调整优先级。 下部的启用文档页脚功能可以让Web站点自动附件一个HTML格式的页脚到返回给客户的任何一个文档中,不过你选择的页脚文件不应是完整的HTML文件,而应仅仅是部分HTML代码。 目录安全性 在目录安全性标签,你可以配置身份验证和访问控制、IP地址和域名限制、安全通信等, 身份验证和访问控制:点击编辑弹出身份验证方法对话框,IIS 6支持五种身份验证方式,在此我仅介绍常用的三种: 匿名访问:注意此匿名访问和Windows中的匿名访问概念不同。在启用匿名访问时,当客户访问此Web站点时,Web站点会使用预配置的用户账户代替客户进行身份验证,而不需要客户输入身份验证信息。在安装IIS时,会创建一个名为IUSR_服务器名的用户账户,它属于Guests用户组,具有很少的访问权限。默认情况下在启用匿名访问时,IIS使用此用户账户来代替客户进行身份验证;不过为了实现更高的安全性和隔离性,你可以配置为使用自定义的用户账户。但是无论配置为使用任何账户,你都必须确定此账户具有对网站主目录的相应NTFS权限,否则客户的访问将会被拒绝。 基本身份验证:基本身份验证是广泛使用的工业标准身份验证方式,它访问时要求用户显式输入身份验证信息,然后通过BASE64编码传送至Web服务器,由于没有进行加密,如果数据包被其他人捕获则会造成身份验证信息的泄漏,因此建议你在SSL上使用基本身份验证。 集成Windows身份验证:集成Windows 身份验证在通过网络发送用户名和密码之前,先将它们进行哈希计算,因此更为安全,它在Windows系统中广泛使用。但是非Windows系统可能不支持集成身份验证,并且不能通过代理使用集成身份验证。 IP地址和域名限制:点击编辑弹出IP地址和域名限制对话框,在此你可以限制可以访问此Web站点的IP地址范围,你可以仅允许你所添加的IP地址范围的访问,也可以允许除了所添加的IP地址范围外的其他IP地址范围的访问。 安全通信:在安全通信中你可以配置Web站点和客户端之间是否启用安全通信,我将在另行撰文介绍。 配置上传文件限制 默认情况下,在IIS 6 全局配置中允许上传的文件长度最大为4 GB,但是在Web站点级却限制了ASP应用程序上传的最大文件长度为200 KB。如果你需要上传超过200KB的文件,则需要手动修改IIS的metabase.xml中对应Web站点的AspMaxRequestEntityAllowed属性。 metabase.xml位于systemrootsystem32inetsrv目录下,用于保存IIS的基本配置信息。默认情况下IIS是不允许你直接对metabase.xml进行编辑的,你可以通过以下两种方式来实现: 停止IISAdmin服务后再编辑; 在IIS管理控制台中右击服务器名,选择属性,然后在弹出的服务器属性对话框中勾选允许直接编辑配置数据库,再点击确定即可; 然后在任何文本编辑器中打开Metabase.xml文件,修改对应Web站点的AspMaxRequestEntityAllowed属性即可,它的单位是字节。 Metabase.xml对于IIS至关重要,修改之前最好进行备份。 IIS 6 中的用户访问控制体系 在上面中给大家介绍了Web站点中的配置,可以看到具有网站访问权限、身份验证和访问控制、IP地址和域名限制等配置,它们都只是IIS 6中用户访问控制体系的一部分。IIS 6中的用户访问控制体系是和Windows系统紧密结合的,当IIS服务器接收到客户所发送的访问请求时,它按照以下步
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《小学教师招聘》题库及参考答案详解【巩固】
- 教师招聘之《小学教师招聘》考前冲刺练习题汇编附答案详解
- 有线网络创新创业项目商业计划书
- 教师招聘之《小学教师招聘》题库及参考答案详解(突破训练)
- 2025年教师招聘之《幼儿教师招聘》考前冲刺练习题附参考答案详解(培优)
- 教师招聘之《小学教师招聘》题库检测试题打印及参考答案详解【能力提升】
- 2025年教师招聘之《幼儿教师招聘》题库检测试卷及答案详解(全优)
- 2025年教师招聘之《幼儿教师招聘》基础试题库带答案详解(新)
- 教师招聘之《幼儿教师招聘》强化训练题型汇编带答案详解(a卷)
- 教师招聘之《小学教师招聘》能力测试B卷附完整答案详解(典优)
- 老龄社区智慧化转型研究-洞察及研究
- 2025年中国电信面试试题及答案
- 《三星堆历史文化介绍》课件
- 山东校外托管机构管理暂行办法
- 语文课程教学技能课件
- 【Google】2025全球短剧营销白皮书(市场数据、渠道打法、ROI全盘点)
- 家政培训服务中心路演
- 模特老师培训课件模板
- IATF16949内审员培训资料
- 危重病人约束护理
- 艾梅乙反歧视培训课件
评论
0/150
提交评论