8. IIS应用程式
介绍设定应用程式(Application)、设定快取记忆体以调整效能、启用ASP侦错功能、执行CGI应用程式、安装ISAPI筛选器等内容。
应用程式(Application)
何谓IIS应用程式(Application)呢 ?
说明
应用程式是一个虚拟目录,每个用户端的使用者都会先执行起始目录(又称为应用程式之根目录)下的Global.asa档案;虚拟目录并不一定是一个应用程式,虚拟目录不设定为应用程式时,就不会执行应用程式根目录下的Global.asa档案。
若是一个虚拟目录但不是一个应用程式的符号,为活页夹加上右下角的小球,如下Scripts;若是一个应用程式的符号,则为小球包於包装盒子中,如下IISHelp:
应用程式起始点
您可用 Internet服务管理员 来设定应用程式在Web站台的起始目录,应用程式的起始点是由一个小球包於包装盒子中的图示来表示,如下IISHelp,在common、iis目录中的档案均视为IISHelp应用程式的一部分:
此应用程式所涵盖的界限,为起始目录下的每一个目录档案,都会被当做为此应用程式的一部分,直到另外有其他应用程式起始目录出现为止。
每个Web站台可有多个应用程式。
IIS支援ASP、ISAPI、CGI、IDC、及SSI等应用程式。本章介绍主题如下:
8-1 如何设定IIS应用程式呢 ?
要建立IIS应用程式,只要指定一个目录作为一个应用程式的起始点(应用程式的根目录)。
每一个应用程式可以命名一个易记的名称,此名称只会出现在 Internet服务管理员 中。
您可将一个虚拟目录改变为是一个应用程式。请在上图的Scripts按右键并选择 内容 ,於 虚拟目录 标签页的 应用程式设定 按下 建立 按钮,即可设定为是一个应用程式,如下:
请在 应用程式名称 文字方块中,命名应用程式名称。按下 确定 按钮,即可发现Scripts改变为小球包於包装盒子中的符号,如下:
移除应用程式
您可以移除一个虚拟目录的应用程式界限。
同理,设定为应用程式後,如在应用程式的起始目录上按右键并选择 内容 ,於 虚拟目录 标签页的 应用程式设定 按下 移除 按钮,即可设定为不是一个应用程式,如下:
应用程式保护设定
一个应用程式若动作不正常,可能会导致整个IIS当机,且常常必须重新开机,因而影响到其他应用程式的动作。
IIS 4.0可将应用程式设定在不同的处理程序(DLLHost.exe)中执行,不会影响到其他应用程式的动作。IIS 5.0提供第叁种选择:数个应用程式可以放在一个共用的集区的处理程序中执行。如下 应用程式保护设定 部份:
应用程式保护 选项可决定要将此应用程式放在:
将应用程式独立,指的是让应用程式在单独的程序与记忆体空间中执行,与Web伺服器以及其他应用程式完全隔离。这个应用程式若动作不正常,不会影响到其他应用程式的动作。
伺服器端的包含档(SSI)与IDC(Internet资料库连接器)应用程式,无法在Web伺服器之外的记忆体空间中执行。
IIS预设为Web服务会在自己的处理程序inetinfo.exe中执行,而其他的应用程式则在一个共用的单独处理程序集区DLLHost.exe中执行。
考虑到效能缘故,设定为 高(独立的) 方式之应用程式不要超过10个以上。
说明
建议inetinfo.exe在自己的处理程序中执行,很重要的应用程式也在其本身的 高(独立的) 处理程序中执行,其馀的应用程式则放在一个共用的 中(集区的) 处理程序中执行。
应用程式权限设定
您可以设定应用程式的权限, 使用权限 设定部份如下:
使用权限 设定选项决定此应用程式的程式执行等级:
设定应用程式对应
您可以设定不同的应用程式副档名,使用不同的程式(ISAPI或CGI程式)或指令语言来执行。譬如,档案副档名为.asp时,IIS会呼叫ASP程式(Asp.dll)来处理。
应用程式档案的副档名与处理此应用程式的ISAPI或CGI程式之对照表,称为 应用程式对应 ,您可以新增或移除此对照表。
应用程式对应 对照表设定步骤如下:
8-2 如何设定快取记忆体以调整效能呢?
把执行过的指令档、应用程式暂存於快取记忆体,便可以增调整伺服器的效能。可设定如下:
此处所谓「独立」系指将 主目录 、 虚拟目录 标签页之 应用程式保护 选项设定为 高(独立的) 时,如下:
於整个IIS电脑、或「独立」Web站台、或「独立」应用程式之 主目录 、 虚拟目录 标签页按下 设定 按钮时,即会多出现一个 处理程序选项 标签页,如下:
快取处理ISAPI应用程式设定
系统可将ISAPI(Internet伺服器API)的DLL应用程式(包括Active Server Pages)载入并暂存於快取记忆体中,以後要处理用户端的要求时,就不必再重新载入这个DLL应用程式,可减少使用者在载入DLL的时间。
只有在要对ISAPI进行侦错等特殊状况时,才不会使用快取处理。若要不使用快取处理,必须把所有使用到这个应用程式的Web站台,全部不勾选 快取处理ISAPI应用程式 核取方块才行。
不勾选 快取处理ISAPI应用程式 核取方块後,并不会把正在执行中的应用程式从记忆体中清除,而是只有以後执行者,才不会储存於快取记忆体内。
如何设定 快取处理ISAPI应用程式 呢?步骤如下:
ASP指令档快取记忆体设定
ASP指令档案执行过後,会在暂存於快取(Cache)记忆体中以提高执行效能。增加快取记忆体的保存档案数量,可提高Active Server Pages之效能。
您可以设定所有在「独立」Web站台、或「独立」应用程式上执行之应用程式的快取记忆体档案数量,此处所谓「独立」系指将 应用程式保护 选项设定为 高(独立的) 时。
指令档快取记忆体 选项可以设定为:
如何设定 指令档快取记忆体 呢?步骤如下:
在 Internet服务管理员 中,选取整个IIS电脑、「独立」Web站台、或「独立」应用程式的起始目录。於 内容 之 主目录 、 虚拟目录 标签页,按下 设定 按钮时,即可由 处理程序选项 标签页设定 指令档快取记忆体 ,如下:
若要设定快取指令档的数量,请选取 要快取处理的ASP档案的最多数目 选项,并输入数值。
8-3 如何启用ASP侦错功能呢?
运用Microsoft Script Debugger或Visual InterDev等侦错程式,可以检视ASP指令档中的执行错误,当执行中发生错误,或执行中遇到中断点时,就会启动此侦错程式。
若要使用侦错的功能,必须首先启用伺服器的侦错功能。如何启用伺服器的侦错功能呢 ? 步骤如下:
当执行中发生错误,或执行中遇到中断点时,就会启动侦错程式,如下:
8-4 如何执行CGI应用程式呢?
IIS(Internet Information Services)可以执行CGI应用程式。
若将CGI应用程式编译成可执行档(.exe),为了让使用者可以执行.exe程式,则应用程式目录必须提供 指令及执行档 的使用权限;若CGI程式使用如Perl等指令撰写,则应用程式目录可提供 指令及执行档 、或 指令 的使用权限,如下:
若要使用 指令 的使用权限来处理CGI程式,则指令解译器必须标示为 指令引擎 ,如下:
勾选 指令引擎 核取方块的话,表示要在有 指令 权限的目录下处理这个档案。只有标记为指令引擎的解译器才可在设定为 指令 权限的目录下执行。设定为 指令 权限的目录下无法执行可执行档(.dll和.exe档案)。
说明
基於安全考量,最好将可执行档(.dll和.exe档案)储存於没有 读取 权限的另一个目录中,因为访客可下载并执行有 读取 权限的目录中的可执行档。
如果要执行Perl等指令档CGI程式,就须取得Perl解译器。Windows并未提供Perl、SED、或AWK解译器。
由於CGI应用程式执行速度很慢,建议改用执行速度最快的ISAPI开发,或最容易开发的ASP应用程式。
CGI程式所在的目录,若考虑安全性,建议将CGI程式与其他档案分开放置於不同的目录路径下。
使用NTFS时,须确定所有执行此CGI程式的使用者都具有该目录的 执行 权限。若匿名使用者可以登入Web站台,须确定匿名使用者(使用者帐户为 IUSR_电脑名称 )具有 执行 权限,如下:
设定CGI指令逾时时间
您可以设定 CGI指令的逾时时间 值,也就是系统分配给CGI程式的最多执行时间,CGI程式一定要在这个指定的时间内执行完毕并将结果值传回。
您可以变更整个IIS电脑(Web伺服器)、「独立」Web站台、或「独立」应用程式的 CGI指令的逾时时间 值设定。
如何设定整个IIS电脑之 CGI指令的逾时时间 呢?步骤如下:
设定「独立」Web站台、或「独立」应用程式之 CGI指令的逾时时间 时,步骤为於 内容 之 主目录 、 虚拟目录 标签页,按下 设定 按钮,即可由 处理程序选项 标签页设定之。
8-5 如何安装ISAPI筛选器呢?
ISAPI筛选器是一个DLL程式,当Web伺服器收到HTTP要求时,触发某个事件,即会执行ISAPI筛选器。
ISAPI筛选器和应用程式(Application)不同之处,为应用程式系由用户端的HTTP要求所驱动,而ISAPI筛选器系由Web伺服器的事件所驱动。
您可将ISAPI筛选器和Web伺服器上的事件相结合,当有Web事件(如 读取 )发生时,系统将执行其关联的ISAPI筛选器(如将资料加密)。
整个IIS电脑(Web伺服器,即所有的站台)可以安装通用的ISAPI筛选器,个别的Web站台安装也可安装各别的ISAPI筛选器。
若同一事件会触发数个ISAPI筛选器,则会先执行有较高优先权的筛选器,相同优先权的筛选器会依序呼叫。优先权相同时,会优先执行Web伺服器的通用筛选器者,然後再执行Web站台的筛选器。
如何安装ISAPI筛选器呢?步骤如下:
新增或变更了筛选器时,必须重新启动Web伺服器,以便重新载入新的筛选器到记忆体中。