首页 > 精选文章 > Web服务器 > 正文

IIS6使用指南之二 :安装和配置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就安装好了。

[NextPage]

配置IIS

通常情况下对于IIS本身我们需要做的配置不多,主要集中在以下几个方面:

 

配置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检查客户端浏览器请求的文件的扩展名,以确定请求的文件为静态文件或包含动态内容。

压缩静态文件所消耗的CPU性能较少,并且通常只需要压缩一次,然后就保存在缓存的临时目录中;压缩动态内容的代价要高一些,因为它们并不存储在临时目录中,并且每次请求时都必须重新生成。推荐你只压缩静态文件,而不压缩应用程序文件。当然,如果你认为与CPU性能消耗相比你更在乎带宽的利用率,那么也可以压缩应用程序文件;微软建议在CPU利用率已经达到80%以上时,不对应用程序文件进行压缩。

当配置HTTP压缩时,根据你的需要选择压缩静态文件压缩应用程序文件,如果要压缩应用程序文件,则必需勾选压缩静态文件,然后输入压缩后的内容的缓存临时目录,默认为%windir%IIS Temporary Compressed Files,然后输入所存储的压缩内容的最大容量即可,默认为不受限制

  [NextPage]

配置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和CGI之间最大的区别在于ISAPI扩展基本以动态链接库的形式存在,而CGI以可执行程序形式存在;ISAPI方式运行的Web服务扩展可以在被用户请求激活后长驻内存,从而减少加载DLL的时间,因此具有比CGI方式更高的效率。

从安全性上考虑,在安装IIS时,默认情况下会安装以下四个Web服务扩展但是并不启用,因此只能支持静态内容的访问:

你可以根据你的需要添加或删除自定义的Web服务扩展,而对于IIS内建的Web服务扩展则只能禁用或启用。

对于这些内置的Web服务扩展,IIS已经为Web站点配置好了应用程序映射,你只需要启用这些Web服务扩展,就可以在Web站点中启用对相应动态内容的访问。

如果要启用某个系统自带的Web服务扩展,则在IIS管理控制台中点击Web服务扩展文件夹,然后在右侧窗口中点击对应的Web服务扩展,点击允许即可,例如要启用对ASP页面的支持,则启用Active Server Pages即可;  

如果要添加自定义的Web服务扩展,除了需要在Web服务扩展文件夹中进行添加外,还需要在Web站点中添加应用程序映射,我将以后专文进行描述。

[NextPage]

配置应用程序池

IIS 6的核心在于工作进程隔离模式,而应用程序池则是定义工作进程如何进行工作,因此,可以说应用程序池是整个IIS 6的核心。

和IIS 5中只能使用单个应用程序池不同,工作在工作进程隔离模式的IIS 6可以创建多个应用程序池,不同的应用程序池之间是完全隔离的,某个应用程序池停止服务时不会影响到其他应用程序池。

在使用应用程序池之前,你应该确定你所需要的应用程序池数量。可能有很多朋友会认为,既然不同的应用程序池之间是完全隔离的,那么我只需要为每个Web站点创建一个应用程序池就可以了。这个办法在IIS服务器上具有较少的Web站点数量时可以使用,但是如果IIS服务器上具有很多Web站点数量,那么这个办法就不适用了,因为不同的应用程序池在被访问时都会创建各自的工作进程,当大量的工作进程并发工作时会消耗大量的系统资源和CPU利用率,反而会降低服务器性能。你应该根据Web站点的重要性、隔离性、所运行代码的安全性和稳定性等来对IIS服务器上所具有的Web站点进行划分,然后根据情况来决定所需要的应用程序池数量。对于那些非常重要的Web站点、需要单独隔离的Web站点、所运行代码稳定性和安全性并不可靠的Web站点配置为使用各自独立的应用程序池,而将其他普通的Web站点配置为使用一个公共的应用程序池。

默认情况下,在安装IIS时会创建一个默认网站并创建一个名为DefaultAppPool的应用程序池为其使用;默认配置下的应用程序池已经可以很好的进行工作,建议你只有在特别需要时才对应用程序池进行配置。

 

配置应用程序池属性

在IIS管理控制台中展开应用程序池文件夹,然后右击对应的应用程序池,点击属性,你可以在应用程序池的属性中进行以下配置:

回收

回收标签,你可以设置工作进程的回收方式:

另外需要注意的是,应用程序池具有以下两种工作进程回收方式,不过这两种回收方式均不会造成Web服务的中断:

如果Web应用程序不支持多实例运行,那么你必须配置应用程序池禁止使用重叠回收方式。此配置无法在IIS管理控制台中进行修改,只能通过在metabase.xml中修改对应应用程序池的DisallowOverlappingRotation metabase属性为true进行。
 

 

性能

性能标签你可以设置工作进程的运行方式:

 

 

运行状况

运行状况标签你可以配置应用程序池监视工作进程的运行状况,

 

 

标识

标识标签,你可以配置工作进程所运行的用户账户。在IIS 5或者当IIS 6运行在IIS 5隔离模式时,工作进程运行在本地系统账户,而运行在工作进程隔离模式下的IIS 6的工作进程运行在网络服务账户下,这降低了系统被攻击的可能性。

你可以配置工作进程运行在预定义的本地系统本地服务网络服务账户下,也可以配置为使用某个自定义的用户账户。建议使用默认的网络服务账户;不过如果为了更高的安全性,可以配置使用自定义的用户账户,不过建议你只是将此自定义用户加入到IIS_WPG用户组中,因此IIS_WPG用户组包含了可以启动和运行工作进程的最小权限。

 

[NextPage]

创建应用程序池

要新建应用程序池,在IIS管理控制台中右击应用程序池文件夹,指向新建,选择应用程序池 

然后在弹出的添加新应用程序池对话框,在应用程序池ID栏输入应用程序池名,然后选择使用默认设置还是继承现有的应用程序池设置,再点击确定即可;  

分配Web站点到应用程序池中

在IIS管理控制台中展开网站文件夹,右击对应的网站,然后选择属性,在弹出的网站属性对话框上,点击主目录标签,然后在应用程序池栏选择不同的应用程序池即可,默认情况下所有网站所使用的应用程序均名为默认应用程序,如果要想此网站使用不同的应用程序名,则在应用程序名栏修改即可,例如在此我就修改为winsvr,这主要是便于查看,然后点击确定即可,

此时,在对应的应用程序池下就显示出了对应网站的应用程序,如下图所示:


  • 上一篇:IIS使用指南之一 :IIS 6 新特性
  • 下一篇:IIS6使用指南之三 :创建和配置Web站点
  • 了解这些字:使的意思 用的意思 指的意思 南的意思 之的意思 二的意思 安的意思 装的意思