|
第二章
实现WWW服务
|
|
| Web站点基础 基于读者的WWW使用经验,对Web站点的感性经验足以帮助大家建立一个关于Web站点的粗略印象。再此我们则主要考虑建立Web站点所需的技术基础,当然,如果要成为资深Web站点管理员,阅读相关WWW标准的RFC文档是不可或缺的。 |
|
![]() |
WWW标准 WWW服务的实现遵循一系列标准。我们通常所见的网站是由若干网页组成的(暂且不考虑网络应用程序),这些网页是直接或间接(通过主页制作工具)由HTML(超文本标记语言)书写成的(如左图)。HTML标准定义了Web网页的内容和显示方式。这些HTML代码最终在客户机的浏览器上显示为包含文本、图形、声音、动画等内容的Web网页。 仅有了HTML并不能完成WWW服务的全部内容,还需要在网络中传输这些HTML代码,这项工作是由超文本传输协议HTTP完成的。HTTP是一种应用层协议,它处于TCP/IP 协议栈的最高层,具体定义了如何利用低层的通讯协议完成无错的网络传输,从而在Web服务器与浏览器之间建立连接。 |
IP地址考虑
通常情况下,每个Web站点都需要一个唯一的IP地址(使用主机标头的情况属于特例,将在下面详述),这样就有必要合理地规划服务器的IP地址,在Internet中,IP地址属于一种不可再生性资源,需要向Internet管理组织申请使用,在中国,IP地址需要向CNNIC申请。
实际中经常遇到需要为一台计算机指定多个IP地址的情况,这通常发生在将多个站点安装到同一计算机上的时候。解决这个问题的最好方法当然是为计算机安装多块网卡,然后逐一为每块网卡指定不同的IP地址。且不考虑这样做是否经济合算,仅在网站数目过大时(例如超过10个),这就不是一个合理地解决方法(无法同时安装10块网卡)。于是,我们更加倾向于使用为同一网卡指定多个IP地址的方法。其具体方法如下:
1.击桌面上的【网上邻居】图标,在弹出菜单上选择【属性】,打开【网络和拨号连接】文件夹。
2.右击【本地连接】图标,选择【属性】。
3.如左图,选择需要配置的网卡。
4.在本地连接属性对话框中选择"Internet协议(TCP/IP)",单击【属性】。
5.如中图,单击【高级】。
6.在如右图所示的【高级TCP/IP属性】对话框中,单击【添加】。
7.如下图,在【TCP/IP地址】对话框中添加绑定到这快网卡的其他IP地址及其对应的子网掩码。
8.单击【添加】。
9.单击【确定】返回。
这时,所有被绑定到这快网卡上的IP地址都是有效的。且同时绑定的IP地址数目不受限制。(图转下页)
|
|
|
|
|
|
||
虚拟服务器与虚拟目录
前面已经提到,可以在一台计算机上安装多个Web网站,在使用中,就好像这些网站分别处于不同的计算机一样,这种配置方法称为虚拟服务器。虚拟服务器的出现源于网站的迅猛发展,"每站一机"的传统方式不能满足需求时,虚拟服务器技术就应运而生了。虚拟服务器解决了主机数量不足的问题。
网络信息的时效性必然要在主页更新的速度上体现出来,近于同步更新的速度才能使企业真正的尝到信息化带来的好处。但是我们通常遇到一个现实的问题:企业各部门之间互相独立地完成自己的信息搜集工作,然后再汇集到企业的IT/IS部门进行集中上网,这就要花费许多中间环节的时间。为了尽量缩短这些不必要的信息流集中,我们可以使用虚拟目录技术使分散的信息直接体现在网站上,从而实现信息的实时更新。
我们知道每一网站在创建时都需要定义一个主目录,作为存放网站信息文件的主要场所。主目录下的实际子目录当然也可以包含网站文件,但是,我们也可以定义一个不相关的目录,使其好像是在主目录下,好像就是主目录下的子目录一样存储网站文件。而实际上,它们的实际位置往往是在本地的其他分区上,甚至可以在网络中的其他服务器上。这些目录叫做虚拟目录。
利用虚拟目录,可以将网站中与各部门相关的文件存储在相应部门本地的实际目录中,经这些实际目录映射为网站的虚拟目录。例如,主页上的财务报表并不是存放在Web网站的主机上,而是通过虚拟目录,实际存储在财务部门对计算机上。这样,财务部门只需及时更新本地数据就可以使网站主页上的财务报表实时更新。
|
|
如左图,在ISM里展开站点控制树中的Web站点节点,就可以查看其包含的目录信息。在右侧内容窗格中,实际目录(主目录中实际存在的文件夹)和虚拟目录分别以不同的图标表示。对于虚拟目录,在其名称后面的【路径】栏中详细描述其实际位置信息。 按照所处位置的不同,虚拟目录可以分为两类:本地虚拟目录和远程虚拟目录。前者的实际位置位于本地计算机的其他分区或磁盘上;后者则位于网络中的其他计算机上。指定远程虚拟目录时,需要知道远程目录的实际位置(UNC路径),即形如\\servername\sharename的路径名称,其中servername指远程目录所在的服务器名称,sharename指该目录的共享名。 |
创建Web站点
在IIS中创建Web站点是非常容易的,IIS已经为我们准备了详细的Web站点创建向导,遵循向导的步骤,可以在短时间内完成站点创建。
使用Web站点创建向导
使用前面描述过的方法打开IIS管理控制台,注意左侧范围窗格中的控制树列出了当前计算机所包含的全部站点。使用Web站点向导创建站点的步骤如下:
1.如左上图,打开IIS窗口,展开【Internet信息服务】根节点。
2.右击需要创建站点的计算机图标,缺省情况下,IIS仅对本地站点提供管理。
3.在弹出菜单中指向【新建】,单击【Web站点】打开Web站点创建向导。
4.如右图,单击【下一步】。
5.如左下图输入web站点说明,单击【下一步】。注意这里的站点说明并不等于站点域名,而是用于在IIS服务器端区分站点的名称。(图转下页)
|
|
|
|
|
|
6.如上左图,为该Web站点指定IP地址,注意,在下拉列表框中可用的IP地址都是在Windows
2000中实际绑定的IP地址。同时,尽量不要改变Web站点的默认端口号(80),否则浏览器将不能访问这个Web站点(除非指定端口号)。单击【下一步】。
7.如下左图,指定Web站点主目录,对于必须进行用户身份认证的专用站点,可以取消选择【允许匿名访问此Web站点】复选框。单击【下一步】。
8.如右图,指定该站点的权限,默认为"读取"和"运行脚本",这对一般的站点而言已经足够了。有关权限的问题将在本课程的后续部分详细介绍。单击【下一步】。
9.单击【完成】。
这时,在IIS控制树中增加了一个站点节点,就是我们刚才创建的"My Web"站点。刚刚创建完成的Web站点还处于停止状态(为民已经注意到站点图标后边注明"已停止"状态),为了使新创建的web站点能够正常工作,需要手工启动Web站点。右击控制树中的站点图标,单击【启动】。(图转下页)
|
|
|
|
|
|
|
创建虚拟目录 虚拟目录的概念和用途曾在前面的章节中有所描述。在此,我们讨论如何在一个web站点中创建虚拟目录的方法: 1.右击需要创建虚拟目录的站点图标,在弹出菜单中指向【新建】,单击【虚拟目录】。 2.在【虚拟目录创建向导】对话框中单击【下一步】。 3.指定该虚拟目录的别名,单击【下一步】。注意,别名与虚拟目录文件夹的真实名称没有任何关系,别名仅用于在IIS中识别虚拟目录。这样,看上去虚拟目录就好像是在主目录下以别名命名的实际文件夹一样。 4.如左图,单击【浏览】指定虚拟目录所对应的实际文件夹,单击【下一步】。这里的实际文件夹才是真正包含网站内容文件的位置,虽然它们看上去处于主目录之下,但实际上我们可以任意指定它的位置,本地或远程均可。 5.与创建站点类似,我们需要为虚拟目录指定访问权限,单击【下一步】。 6.单击【完成】。 |
|
|
|
| 在IIS中,我们可以看到该站点下出现一个新的节点,这就是刚刚创建的虚拟目录。根据虚拟目录所对应实际位置的不同,其在IIS中的图标也有所不同。 | |
|
|
检验web站点 创建Web站点之后,为了检验站点创建的效果,还需要检验站点。 在IIS控制树中右击新建站点节点,在弹出菜单上单击【浏览】,如果出现如左图所示的站点主页窗口,说明站点设置正确无误。然后还需要在网络中的其他计算机上进行浏览检验,以验证TCP/IP设置及网络设置的正确性。 如果完全按照上述步骤创建Web站点却不能进行访问,请参见本课程的作后一章:IIS排错。 |
管理Web站点
站点的管理是复杂的,我们在本节讨论站点管理的方法和策略。可以说,创建web站点只是实现WWW服务的第一步,更多的工作,也是作为一名web管理员的日常任务,是对站点的维护和管理。这里涉及到两方面的任务:安全性管理和性能调整。前者往往涉及一个Web站点的生死存亡,我们无法想象一个经常被黑客光顾的网站还能够吸引网友的访问,对于存储公司敏感数据的内部网站更是如此。而性能调整也是相当重要的工作,如何利用现有的设备条件支持更多客户的访问已经成为网站管理员的共同难题。
WWW属性表单概述
Web站点的管理依赖于对站点属性的配置,这些配置是在属性表单中进行的。IIS管理控制树中的任何节点都拥有自己的属性表单,例如计算机、站点、虚拟目录、文件,我们可以在属性表单中分别配置其属性。属性表单的打开方法是右击IIS管理控制树的相应节点,在弹出菜单上单击【属性】即可打开属性表单。
我们可以在计算机属性表单中配置计算机属性,在站点属性表单中配置站点属性,还可以在虚拟目录属性表单中配置虚拟目录属性。那么,一旦这些属性之间存在冲突该怎么办呢?实际上,IIS事先定义了一套属性从属机制,即低层属性自动继承高层属性,例如,如果更改计算机属性表单使计算机属性与当前的某个站点属性有所冲突,那么,基于属性继承的原则,冲突的站点属性自动继承计算机属性。所以,计算机属性表单又称为主(Master)属性表单。
| 在IIS管理控制树中右击计算机图标,在弹出菜单中单击【属性】,打开如右图所示的计算机属性表单,即主属性表单。 该属性表单有两个选项卡:在【Internet信息服务】选项卡中,可以分别配置WWW服务和FTP服务的主属性、计算机的总带宽截流、MIME映射等属性;在【服务器扩展】选项卡中,可以配置站点性能、客户机脚本类型、邮件发送方式、系统权限等属性。 对任一属性进行更该之后,先单击【应用】再单击【确定】使之生效。 |
![]() |
| 配置Web站点属性 Web站点属性表单是配置Web站点属性的主要界面,在IIS管理控制树中右击Web站点节点,从弹出菜单中单击【属性】打开Web站点属性表单。如图就是默认Web站点的属性表单,属性表单由10个选项卡组成,可以分别对Web站点各个方面的属性进行配置。 我们先来看【Web站点】选项卡,这是对web站点的一般属性进行配置的界面。 该选项卡上部的【Web站点标识】区域中,可以更改站点说明、IP地址、TCP端口以及SSL端口信息。这些信息都是在创建Web站点时指定的。注意,即使IIS允许将站点的IP地址设置为【所有未分配的】,但事实上这样做通常并没有给站点真正的分配一个有效的IP地址,尤其在站点数量较多时,应尽量为每个站点都实际的分配一个IP地址。 在该选项卡中部的【连接】区域中,可以设置站点的连接属性,这些属 |
|
| 性通常决定了站点的访问性能。由于硬件性能和带宽的限制,一个Web站点所允许的同时访问用户数量是有限的,过多的同时连接数往往可能导致问题甚至网站当机。所以,尤其对于访问数量大的站点而言,应限制同时连接数(默认情况下是不限制的)。单击【限制】,并指定同时连接的数量即可。基于同样的原因,我们还应限制连接超时,连接超时是指一个连接到Web站点上的客户在一定的时间内如果没有做出任何响应,就将被自动断开连接。例如缺省的连接超时为900秒,这意味着当一个当前连接客户连续发呆15分钟后将被自动剔出系统(即断开连接)。选择【启用保持HTTP激活】复选框能够加快网站对用户的响应速度。 | |
| 日志是以文件形式监视网站使用情况的手段。【Web站点】选项卡的下部是用于配置日志纪录的区域,选择【启用日志纪录】复选框,然后在【活动日志类型】下拉列表框中指定日志类型,各种日志类型的内在差别并不是很大,常用的日志类型有W3C扩展日志文件格式和Microsoft
IIS日志文件格式。 选定日志文件类型后,单击【属性】,打开如左图所示的【扩充日志纪录属性】对话框。【常规属性】选项卡为我们提供了一般性的日志文件设置界面。在右图中,可以在【日志文件目录】栏中更改日志文件存储的路径。日志是一种持续性的纪录手段,随着时间的推移,单个日志文件所纪录的事件越来越多,其大小也越来越大。为了防止日志文件太大所导致的存储及分析困难,应该在日志文件达到一定大小的时候新建一个文件。通常的判断方法有两种:一定时间后新建文件和达到一定大小 |
|
| 后新建文件。对于前者,只需选择【每小时】、【每天】、【每周】或【每月】即可在指定时间到达时自动生成新的日志文件,新文件将以时间命名,例如yymmdd.log或mmdd.log。而选择【当文件大小达到】并指定大小后,系统就可以在日志文件达到指定大小后生成新文件,缺省情况下,每19MB就要生成一个新文件。 | |
| 在如右图所示的【扩展日志属性】选项卡中,可以指定日志文件记录何种事件及相关对象的细节。只需选取相应对象前面的复选框即可。例如,如果需要记录客户访问站点内容所使用的服务器端口号,就应选择【范围其端口】前面的复选框。 注意,记录过多的不必要内容必定会耗费有限的服务器资源,且会使日志文件变得很大,因此,应确保所记录的事件都是必要的。 日志的保存方法及保存内容如前所述,但是这里记录的日志文件如何才能变成对于Web管理员有用的信息呢?直接察看日志文件(.log文件)显然是方法之一,但要理解各种复杂的日志格式,并从中得到有用信息显然不是人力所能及之事。事实上,我们需要借助于其他工具完成日志文件的分析工作,例如著名的Microsoft Site Server就使一种流行的日志分析工具。通过引入、分析日志文件,Site Server最 |
|
| 终给出一个便于理解的分析报告,报告以图形、图表等方式直观的显示日志运行期间的各种事件。大多数的日志分析软件还能够设置过滤器,以便对管理员感兴趣的事件进行单独分析。有关日志分析的内容不属于本课程的讨论范围。 | |
| 配置主目录和内容权限 前面提到,所谓主目录就是用于存储站点相关文件的主要路径,包含站点文件的其他目录或是直接位于主目录之下,或是以虚拟目录的形式挂在主目录下。 在web站点属性表单中单击选择【主目录】选项卡,如左图所示,在该选项卡中能够对站点主目录、文件及应用程序权限进行设置。 主目录的分配有三种方式:缺省情况下选中【此计算机上的目录】选项,输入或单击【浏览】指定本地主目录路径。选择【另一计算机上的目录】选项,可以指定远程主目录,具体形式是网络中共享文件夹的UNC路径:\\服务器名\共享名。另一种指定主目录的方式是将主目录重新定向到一个URL,也就是Internet中的某个其他网站或其之下的目录。选择【重定向URL】,并在【重定向到】栏中输入url地址,例如输入:http://www.mycorp.com/mcse就是将http://www.mycorp.com网站中的/mcse目录作为当前Web站点的主目录。 |
|
主目录选项卡还允许我们对站点文件和应用程序权限进行配置。对于文件,基本的权限有读取和写入,可分别选择【读取】和【写入】复选框进行指定。其中前者对于通常的静态网页站点是必须的,后者则允许客户对网站文件进行修改或添加。如果网站中包含脚本文件,则还应指定【脚本资源访问】权限。此外,还有一种特殊的权限:【目录浏览】,一旦指定目录浏览权限,则即使客户没有读取权限,也能够察看网站的组织结构,看到网站中究竟有那些文件,分别什么位置。所以,指定该权限往往带来安全性上的隐患。对于应用程序而言,权限有两种:【纯脚本】以及【脚本和可执行程序】,它们是在【执行许可】下拉列表框中进行指定的。其中后一种权限包含前一种。所谓可执行程序与脚本程序的区别在于:可执行程序在服务器端执行,其通常的后缀为.exe .bin .dll .com .dat等;而脚本程序是先下载到客户机,然后再进行解释执行的,它们采用脚本语言编写,如Vbscript、Jscript、Perl、PHP等。
|
实现WWW服务 |
|
| 分配站点管理员 | |
|
|
|
| 所谓站点管理员,就是能够对当前Web站点进行管理的Windows 2000用户帐号,缺省情况下,只有Administrstors组拥有管理Web站点的权限。使用WWW属性表单更改站点管理员的步骤如下: | |
1.在Web站点特性表单中单击【操作员】选项卡。
2.如左图,在【操作员】栏中列出当前具有管理该站点的组和账号名称,单击【添加】。
3.如右图,在原则用户和组对话框中原则新的站点管理员的账号或组名,单击【添加】。
4.按上一步方法添加若干管理员后,单击【确定】返回。
5.单击【应用】,再单击【确定】。
| 调整web站点性能 前述【Web站点】选项卡中,曾经提到通过限制同时连接数、连接超时等参数可以调整站点的性能,现在我们系统的考虑一下Web站点性能调整方面的问题。 让我们先来讨论一下系统性能调整的原则。一般而言,在同样硬件配置条件下,不可能凭空提高系统的性能,所以我们说性能的调整实际上就是系统各部分之间的资源分配问题。例如对于专用的Web服务器,显然应该尽量的将全部性能潜力都分配给WWW服务;而对于一台还需担当其他任务的计算机而言,则要在各种任务之间找到平衡点。 选择WWW属性表单中的【性能】选项卡,如右图所示。其上部的性能调整滑块可以向IIS系统描述站点的大致访问量(每日期望点击数量), |
|
| 这一设定不具强制性,仅是为系统对资源的分配做出建议以供参考。 为了限制当前站点占用的总带宽数量,可以进行带宽截流设置。选择【启用带宽限制】复选框,在【最大网络使用】栏中指定当前网站最多能够占用的带宽数,缺省为1024KB/S,达到这一限制时,多出部分的请求将被拒绝。 上述限制多作用于网络资源,对于计算机本地资源,如CPU占用等,也有必要加以限制。选择【启用进程限制】复选框,在【最大CPU使用程度】栏中指定当前网站能够占用的最大CPU使用率,缺省为10%。这一限制并非强制性的,也就是说,即使达到最高CPU占用率,系统也并不会终止当前站点的运行,而只是适当降低其CPU占用率。如果需要在达到最大限制时强制性结束网站应用程序或其他进程,则需要选取【强执性限制】复选框。注意,这一设置有可能带来系统稳定性上的问题。 |
|
| 添加缺省主页 所谓缺省主页,是指用户在请求站点(例如在浏览器地址栏中输入站点域名)之后,所收到的默认网页。通常我们也将网站的首页称为主页。那么站点的主页如何设置呢,这就是本小节讨论的问题。一般情况下在站点主页制作完成之后将其存储在某个目录中,例如存储在主目录中的index.htm或default.asp等等。随后按如下步骤添加主页: 1.在WWW属性表单中单击【文档】选项卡,如左图。 2.选择【启用默认文档】复选框。 3.单击【添加】,弹出【添加默认文档】对话框。 4.输入主页名称及位置(如有必要),单击【确定】。 5.可以添加多于一个默认主页,所有添加的文档都显示在列表框中,选择一个文档,单击上下箭头调整其显示的优先级。通常客户 |
|
| 机首先尝试加载优先级最高的主页,一旦不能成功下载,将降低优先级继续尝试。文档在列表中的位置越靠上意味着其优先级越高。 【文档】选项卡中不仅能够指定缺省主页,还能配置文档页脚。所谓文档页脚,又称footer,是一种特殊的HTML文件,用于使网站中全部的网页上都出现相同的标记,大公司通常使用文档页脚将公司标徽添加到其网站中全部网页的上部或下部,以增加网站的整体感。 为了使用文档页脚,首先要选择【文档】选项卡中的【启用文档页脚】复选框,然后单击【浏览】指定页脚文件,文档页脚文件通常是一个.htm格式的文件。 |
|
|
实现WWW服务 |
|
| 添加ISAPI筛选器 ISAPI筛选器 是一种服务器端应用程序的实现方式,ISAPI筛选器又名ISAPI应用程序,是指使用ISAPI技术开发的程序。ISAPI类似早期的CGI技术,能够实现简单的浏览器/服务器(Browser/Server构架)交互式应用。ISAPI占用服务器内存小,能够运行于独立的内存空间,具有极大的灵活性。故逐渐成为CGI的替代技术。 ISAPI应用程序以动态链接库,即.dll文件的形式实现,凡是连入网站的用户必须通过该.dll文件的处理,从而实现应用程序的运行,因此,这种类似过筛子的应用程序工作方式页被叫做ISAPI筛选器。 ISAPI筛选器最常用于安全性相关的应用程序,例如客户身份的检验,合法用户的甄别等等, 添加ISAPI筛选器的方法如下: 1.在WWW属性表单中单击【ISAPI筛选器】选项卡,如右图。2.单击【添加】,弹出【添加默认文档】对话框。3.如右图,在【筛选器名称】栏中输入ISAPI筛选器名称,该名称可由管理员任意指定。4.单击【浏览】为【可执行文件】栏指定ISAPI筛选器文件的实际位置。5.单击【确定】返回。 |
|
|
|
|
| 6.使用上下箭头调整多个ISAPI筛选器的优先级。7.单击【应用】、【确定】完成。 对于安装完成的ISAPI筛选器,可以在列表中选择之,以查看其详细信息,或单击【编辑】修改其文件对应的实际位置。 |
|
| 自定义错误信息 如何网站都应为自己的用户提供出错信息。HTTP协议提供了一系列标准的错误代码,分别指示出错原因以及错误对象、可能的处理方法等信息。例如404错误,代表客户机请求的文件不存在;401.2错误,代表客户没有相应权限访问指定资源。 但是,在上述被预先定义的错误事件发生时,通常只能向客户机的浏览器发送缺省的出错信息,也就是我们在上网是经常收到的诸如"F404 not found……"之类的信息。对于一个追求个性或者更加体贴用户的网站而言,有必要重新编辑这些提示信息,使之变得对客户更加有用,而不是对这一大堆术语束手无策。这样,就要先编辑一些包含针对各类错误进行提示的信息文件,然后讲它们分别映射到相应的HTTP错误类型上。 自定义错误信息的方法如下: 1.在WWW属性表单中单击【自定义错误信息】选项卡,如左图,列表中列出各种HTTP错误类型。2.选择需要自定义的错误类型,单击【编辑属性】。3.如左图,在【映射错误属性】对话框中配制自定义错误,有三种方式指定错误文件。在【消息类型】下拉列表中指定【默认】,可以使用缺省的错误信息;指定【文件】,并单击【 |