我们知道,Windows Server 2003 和Windows 2000 Server一样,都内置有IIS(Internet Information Server,Internet信息服务)组件,只不过win 2003中的IIS是6.0版本,win 2000中的IIS是5.0版本,我们可用它来搭建Web、FTP等服务器。win 2003在系统安装时默认情况下是没有安装IIS6.0组件的,因此我们必须手工来进行安装。
Web服务的搭建既可以在“配置您的服务器向导”窗口中添加“应用程序服务器”的方式来完成,如图1和2所示;也可以在“控制面板”中以“添加/删除Windows组件”的方式来实现,如图3所示;具体的安装过程比较简单,这里就不在详细说明,最后安装好“Internet信息服务”如图4所示。
图1
图2
图3
图4
IIS 6.0 使我们能够在一台服务器上创建多个网站。要将站点添加到服务器上,必须准备该服务器及其关联的网络服务,然后为该站点创建唯一的标识。
IIS 提供了下面两种添加新网站的方法:网站创建向导和iisweb.vbs 命令行脚本。
1、使用网站创建向导添加网站
① 在 IIS 管理器中,展开本地计算机,右键单击“网站”目录,指向“新建”,然后单击“网站”。
② 单击“下一步”。
③ 在“描述”框中,键入为网站选择的名称,然后单击“下一步”。
④ 在“网站 IP 地址”框中,单击“全部未分配”来允许 HTTP 响应服务器上所有未分配的 IP 地址,或单击站点的特定 IP 地址。
在网站创建向导中,“全部未分配”表示指派给计算机但并未指派给特定站点的 IP 地址。默认的网站使用尚未指派给其他站点的所有 IP 地址。对于给定的端口号,只能将一个站点设置为使用未分配的 IP 地址。
⑤ 默认情况下,将 TCP 端口分配到端口 80。若使用非标准端口号来为专用网站创建唯一标识,在“网站 TCP 端口”框中,输入一个大于 1023 的新端口号。
⑥ 在“此网站的主机头(默认:无)”框中,输入主机头名来标识网站。如果使用主机头将其他站点添加到一个 IP 地址,则必须分配主机头名,该名称包含站点的全名,例如,www.ghq.com。
⑦ 如果服务器上没有启动 SSL 加密,则不显示“SSL 端口”框。如果服务器上启用了 SSL 加密,请输入 SSL 端口号,然后单击“下一步”。
⑧ 在“路径”框中,输入或浏览到网站主目录的路径。
⑨ 默认情况下,将网站配置成匿名访问。若要创建安全或专用网站,请清除“允许匿名访问网站”复选框,然后单击“下一步”。
⑩ 在“站点访问权限”对话框中,选择主目录的权限。单击“下一步”,然后单击“完成”。
2、使用 iisweb.vbs 命令行脚本添加网站
① 如果将新网站放在新目录中,创建新目录。
② 从“开始”菜单中,单击“运行”。
③ 在“打开”框中,键入 cmd,然后单击“确定”。
④ 从命令提示符中,切换到 systemrootsystem32 目录。
⑤ 键入 cscript iisweb.vbs /create Home Directory
Site Description" /i IP Address /b Port,然后按 Enter。
例如,下面的命令在 IP 地址 192.168.1.67的端口 80 上创建并启动一个名为 www.ghq.com的站点,E:ghq作为其主目录。
cscript iisweb.vbs /create e:ghq "www.ghq.com" /i 192.168.1.67 /b 80。
IIS 6.0 在一台服务器上可以宿主多个网站。例如,无需使用三个不同的服务器来宿主 www.ghq.com、study.ghq.com 和 test.ghq.com 三个网站,我们可以将上述网站安装在同一个服务器上。合并网站可以节约硬件资源、节省空间和降低能源成本。
要确保用户的请求能到达正确的网站,必须为服务器上的每个站点配置唯一的标识。要执行此操作,必须至少使用三个唯一标识符(主机头名称、IP 地址和唯一 TCP 端口号)中的一个来区分每个网站。同一服务器上主控的网站可以使用以下的唯一标识符进行区分(表1)。
表1
通过更改这三个标识符中的一个,可以为多个网站创建唯一的标识,而无需为每个站点安装一个专用的服务器。也可以为每个站点创建唯一的主目录并且将内容存储在本地服务器或远程网络共享上。这样,每个网站都将作为一个独立的实体或虚拟服务器。
要标准化唯一标识每个服务器上网站的方法,最好使用主机头名称。通过优化缓存和路由查找,使用每服务器上方法可以提高性能。相反,将主机头、唯一 IP 地址或非标准端口号任意组合使用以标识同一服务器上的多个网站却会降低服务器上所有网站的性能。
1、使用多个 IP 地址创建多个站点
一些安全服务器配置要求在同一台服务器上使用唯一 IP 地址来区分每个网站。IIS 使我们能够将网站配置成在所有可用的 IP 地址或单个 IP 地址上进行监听。如果在同一台服务器上使用多个 IP 地址来区分不同的站点,则必须配置 IIS 来给每个站点指派唯一的 IP 地址。
下表2总结了使用 IP 地址来区分多个站点的优缺点。
表2
由于在同一台服务器上给多个网站指派大量的唯一 IP 地址会降低性能,因此这种方法主要用于标识宿主安全套接字层 (SSL) 或传输层安全 (TLS) 服务的服务器上的多个站点。
使用主机头和唯一 IP 地址的组合来标识同一服务器上的多个网站会降低缓存查找和路由查找的性能。为了优化性能,用一种方法标准化每台服务器,标准 HTTP 网站更适合使用主机头。
2、使用主机头名创建多个站点
每个网站都有一个描述性名称,并且可以支持一个或多个主机头名。一台服务器上宿主多个网站的单位通常使用主机头,这是因为此方法使其能够不必使用每个站点的唯一 IP 地址来创建多个网站。
由于万维网发布服务(WWW 服务)必须分配非页面缓冲池内存来管理每个 IP 地址的端点,使用主机头的好处是可以避免由于使用唯一 IP 地址标识多个网站而引起的潜在性能降低。
当客户端请求到达服务器时,IIS 使用在 HTTP 头中通过的主机名来确定客户端请求的站点。如果该站点用于专用网络上,则主机头可以是 Intranet 站点名,例如 testIntrant。如果该站点用于 Internet 上,则主机名必须是公共的可用域名系统 (DNS) 名(例如 test.ghq.com),同时必须使用一个已授权的 Internet 名称机构进行名称注册。
下表3总结了使用主机头来区分多个网站的优缺点。
表3
对于多数情况,推荐使用主机头来区分同一台服务器上的多个网站。使用这种方法时,仔细考虑默认网站显示的内容。如果用户试图通过不支持 HTTP 1.1 的旧浏览器联接您的站点,并且在服务器上启用默认的网站但是不包括克服旧浏览器限制的程序,那么用户将被定向到 IP 地址指定的默认网站。那可能不是用户希望访问的站点。默认的网站可能包含一个脚本,该脚本支持在不支持 HTTP 1.1 的浏览器中使用主机头名。
如果浏览器接收到一个目前已停止的站点请求,则用户将被重定向到默认网站。由于这个原因,Internet 服务提供商 (ISP) 通常将其自己的主页设为默认值。如果用户无法访问某个主机头标识的站点,并且没有启用默认网站,则用户浏览器将显示“主机没有找到”的错误。
3、使用端口创建多个站点
虽然不推荐使用产品服务器,但可以使用非标准 TCP 端口号来创建用于站点开发和测试目的的唯一网站标识符。您可以通过创建网站标识(该标识包括 TCP/IP 地址或名称,并附带有非标准 TCP 端口号)来达到此目的。标准网站将默认的 TCP 端口 80 用于 HTTP 连接,将默认的 TCP 端口 443 用于安全 HTTPS 连接。由于 TCP/IP 端点是用 IP 地址(或相应名称)和端口号的组合来定义的,而使用非标准端口号配置网站可以给每个站点创建唯一的端点(或标识)。
如果使用非标准 TCP 端口号来标识网站,则用户无法通过标准名或 URL 来访问站点。另外,用户必须知道指派给网站的非标准 TCP 端口号,以及在其 Web 浏览器地址栏中附加网站的名称或 IP 地址。
下表4总结了使用端口号来区分多个网站的优缺点。
表4
例如,要访问名为 GhqIntranet 的专用网站,该网站的 IP 地址是 192.168.1.68,指派给非标准 TCP 端口 8080 的服务是 HTTP 服务,那么用户必须在其 Web 浏览器中输入 http://ghqintranet:8080 或 http://192.168.1.68:8080 来访问该站点。因此,对于多数 Internet 或 Intranet 站点来说,使用端口号来标识网站不是一个可行的方法。