
你的位置:首页>>局域网组建实用培训教程>>管理站点上的应用程序
Internet信息服务应用程序是在Web站点定义的一组目录中执行的任何文件。当创建一个应用程序时,在Web站点上使用Internet信息服务管理器指定应用程序的“起点目录”(也称为“应用程序根”)。Web站点起点目录下的每个文件和目录均被认为属于某个应用程序,而直至找到另一个起点目录,因此可以使用目录边界来定义应用程序的范围。
9.2.1 站点应用程序概述

在Internet信息服务管理器中,应用程序起点由软件包图标表示。如图9-16所示,显示了一个名为/SiteAdmin的起点目录的应用程序。其中,\Login、\Order 和\SetupDB目录中的文件被认为是/SiteAdmin 应用程序的一部分。在每个Web站点上都可以有多个应用程序。当安装Internet信息服务时,所创建的默认 Web 站点是应用程序的起点。
Internet信息服务支持ASP,ISAPI,CGI,IDC和SSI应用程序。应用程序可以共享应用程序文件中的信息。例如,ASP应用程序共享上下文、会话状态和应用程序页中的各种设置。
应用程序保护指的是应用程序在其中运行的进程。IIS 5.0 提供3种级别的应用程序保护。例如,可以将应用程序设置在诸如Web服务的相同进程(Inetinfo.exe)中运行,也可以设置在Web服务独立的进程(DLLHost.exe)中运行,还可以在共用进程中运行(DLLHost.exe 的另一实例)。
默认情况下,Web 服务(Inetinfo.exe) 将在其自己的进程中运行,而其他应用程序将在单个共用进程 (DLLHost.exe) 中运行。而后,可以设置具有较高优先级的应用程序作为独立进程(DLLHost.exe 的另一实例)运行。由于性能原因,建议不要运行10个以上的独立应用程序。在性能和应用程序保护级别之间存在一个平衡点。在Web服务进程(Inetinfo.exe)中运行的应用程序,会导致在获得较高性能的同时伴随有较大的风险,以致不正常的应用程序可能使Web服务失效。管理员可以在组件服务管理工具中设置组件的进程选项。
9.2.2 创建应用程序
要创建应用程序,应将目录指定为应用程序的起点(即应用程序根),并为应用程序设置属性。每个应用程序都应取一个好记的名称,该名称将出现在Internet信息服务器中,并给定一种区分应用程序的方法。管理员不希望使用应用程序边界下的目录及其子目录中的文件时,可以从应用程序边界中删除该目录。但不会从Web站点或计算机硬盘上删除该目录。
创建应用程序的操作步骤如下:
(1) 打开“Internet信息服务”控制台窗口,在控制台目录树中选择作为应用程序起点的目录,也可以将Web站点的主目录指定为应用程序起点。
(2) 打开站点的属性对话框,并切换到“主目录”选项卡。单击“应用程序设置”选项组中的“创建”按钮,在“应用程序名”文本框中,输入应用程序名。
(3) 在“执行许可”下拉列表框中为应用程序设置权限。
● 选择“无”选项,只允许访问静态文件,如HTML或图像文件。
● 选择“纯脚本”选项,只允许运行脚本,如ASP脚本。
● 选择“脚本和可执行程序”选项,可以访问或执行各种类型文件。
(4) 在“应用程序保护”下拉列表框中选择运行应用程序的保护方式。
● 选择“低(IIS进程)”选项,可以与Web服务在同一进程中运行应用程序。
● 选择“中(共用的)”选项,可以与其他应用程序在独立的共用进程中运行。
● 选择“高(独立的)”选项,可以在与其他进程不同的独立进程中运行应用程序。
(5) 单击“应用”按钮,应用设置。
注释:
要终止应用程序并将其从内存中卸载,单击“卸载”按钮。如果“卸载”按钮无效,则表明没有位于应用程序的起始点目录。要将主目录与应用程序分离,请单击“删除”按钮。
9.2.3 设置应用程序映射
管理员可以大量开发用脚本语言写成的Web应用程序,但是,必须进行应用程序映射,使文件的扩展名与ISAPI或CGI程序之间建立关联。这样,IIS就可以使用Web站点上请求资源的文件扩展名来确定运行哪个ISAPI或CGI程序处理请求。例如,以.asp为扩展名的文件请求将导致Web服务器调用ASP程序(Asp.dll)来处理请求。管理员应预先配置IIS以支持公共应用程序映射。
配置IIS以支持公共应用程序映射的操作步骤如下:
(1) 在“Internet信息服务”控制台窗口中,选择Web站点或应用程序的起始点目录。
(2) 打开站点或者目录的属性对话框,并切换到“主目录”选项卡。
(3) 在“应用程序设置”选项组中,单击“配置”按钮,打开“应用程序配置”对话框,如图9-17所示。使用该对话框可以将文件扩展名映射到处理这些文件的程序或解释器。

图9-17 应用程序映射
(4) 启用“缓存ISAPI应用程序”复选框,可以加载并缓存Internet Server API DLL,以便将来处理请求时不必重新调用该应用程序。多数ISAPI应用程序(包括 Active Server Pages)都得益于缓存。如果有多个 Web 站点将同一个 ISAPI 应用程序加载并缓存到服务器,则禁用该复选框将无法从内存中卸载该应用程序。
(5) 在“应用程序映射”列表中列出了与可执行文件名相关联的文件扩展名、可执行文件路径和动作。要添加新的应用程序扩展名映射,单击“添加”按钮,打开“添加/编辑应用程序扩展名映射”对话框,如图9-18所示。

图9-18 应用程序映射
(6) 在“可执行文件”文本框中输入将处理文件的 ISAPI 或 CGI 程序的路径(必须在Web 服务器的本地目录中指定程序)。 在“扩展名”文本框中输入要与ISAPI或CGI程序相关联的文件扩展名。当 Web 服务器接收到标识带有该扩展名文件的URL时,将调用相关程序来处理该请求。
(7) 要将所有请求传递到应用程序,选择“全部动作”单选按钮;如果不将所有请求传递到应用程序,选择“限于”单选按钮,并在其文本框中输入应传递到应用程序的 HTTP的动作。例如,默认情况下,Asp.dll 文件将使用GET,HEAD,POST以及TRACEHTTP动作处理请求。
(8) 若要在没有“执行”权限的目录中运行应用程序,请启用“脚本引擎”复选框。此项设置主要用于基于脚本的应用程序,如映射到解释器的 ASP 和 IDC。运行脚本映射的应用程序时,必须为应用程序所在的目录选中“脚本”或“执行”访问方式。如果只允许运行脚本映射的应用程序,则使用“脚本”访问方式;如果脚本映射的应用程序和可执行文件(.exe 和 .dll)都允许运行,则使用“执行”访问方式。
(9) 如果启用“检查文件是否存在”复选框,Web 服务器将验证请求的脚本文件是否存在,并确认发出请求的用户是否有权限访问该脚本文件。 如果脚本不存在或用户没有权限,将收到相应的警告消息,并且不调用脚本引擎。该选项适用于映射到非 CGI 可执行文件的脚本,这些非 CGI 可执行文件(如 Perl 解释器)在脚本不可访问时不会发送 CGI 响应。因为脚本要被打开两次,即服务器和脚本引擎各打开一次,所以启用该选项将在一定程度上降低性能。
(10) 设置完毕,单击“确定”按钮,返回到“应用程序映射”选项卡。在选项卡中,选择文件扩展名,而后单击“删除”按钮。这样,在该Web站点或目录中,将不对具有该扩展名文件的请求进行处理。
(11) 选择文件扩展名,然后单击“编辑”按钮,对应用程序扩展名映射内容进行修改。