IIS常见问题及解答


 1. 我怎样对IIS设置进行备份?
2. 什么工具能帮助我施加一个负载并进行应用程序的强度测试?
3. 当Localstart.ASP返回了一个“正在创建中”响应时,发生了什么事情?
4. 能在Microsoft Windows XP Home Edition中安装IIS或PWS吗?
5. ISAPI筛选器能在一个单独的进程空间中运行吗?
6. 我在哪能获得这样的示例代码--它显示了如何在使用WebDAV的ASP中编辑文档?
7. 当我试图用ASP去访问一个数据库时,我得到了一个“拒绝访问”的回应,这是什么原因?
8. 如何在没有恢复原始设置的情况下运行IIS锁定工具?
9. 在我的intranet环境中,如何处理“server-side include”语法,而不必重新命名所有的文件?
10. 在Windows 2000 Professional中,我怎样做才能让域用户来管理虚拟目录,以便域用户能够创建和管理他们自己的虚拟目录?

问: 我怎样对IIS设置进行备份?

答: 有多种方法可以用来完成此项工作。在Internet信息服务管理器控制台(IIS插件)中所设置的属性和值都被储存在Metabase.bin文件中,缺省情况下,这个文件位于“C:\winnt\system32\inetsrv”目录中。在IIS 5.0中,你可以从内置的IIS插件中来备份元数据。如果需要进行此工作,请选择桌面上的计算机图标然后单击右健。然后再选择 “备份/恢复配置”。然后你就可以选择备份现有元数据设置或者恢复以前的版本。与此相同的选项在MetaEdit 2.2中也可找到。

当你以这种方式保存了元数据时,你的备份将以.md0文件的格式储存在C:\winnt\system32\instrv\metaback文件夹中。当你执行备份时,文件将使用你所指定的名称,如Pre-Lockdown.md0。如果你使用相同的文件名创建了多个备份,他们将使用数字逐渐递增的扩展名,如Backup.md0,Backup.md1等等。

在你的元数据严重损坏的情况下,你将不能启动IIS。此时,你也不能从IIS插件或metaedit中执行恢复操作。如果真的发生了类似情况,你就可以通过从备份文件夹中选用最合适的.md0(.md1等等)元数据备份文件来替换Metabase.bin。如果你的备份文件没有错误,IIS将会立刻启动。

制作元数据的备份还有其它两个意义。你可以使用xcopy,scopy或其它复制程序来简单地复制Metabase.bin文件。你应该先停止Internet服务,以保证你的元数据是最新的并且不在使用状态中。

最后,我们还提供了两个脚本--metaback.vbs和metarest.vbs--它们位于Inetpub/IISSamples/sdk/admin(如果你在IIS 5.0上安装了IIS SDK)文件夹中或在IIS Resource Kit/Utility/ADSI Admin Scripts文件夹(如果你安装了IIS 4.0 Resource Kit)中。这些.vbs脚本使用了一个ADSI命令,它是专门为创建元数据备份而提供的。

问: 什么工具能帮助我施加一个负载并进行应用程序的强度测试?

答: 有许多工具可以用来实现这个目的。而且有一些功能完备并且十分有用的你将会发现有相当多的可利用的商业工具可供您利用被完全装备了,并且这些工具是有很用的。Microsoft提供了Web Application Stress Tool,在大多数情况下,对于装载在Web服务器上施加负载来说,并检查它在一定压力下是否能够正常工作这一目的当进行应用程序强度测试时,查看它们的执行情况,这个工具是足够用的。预先执行测试是一个好主意,因为在应用程序的设计过程中,问题并不会显现出来,除非在这个服务器上施加一定负载被加载了--而且在一个产品成品服务器上你肯定不希望发现任何问题。

Web Application Stress Tool有几个有用的特性,它可以将您包括当你在通过Web站点中进行的指向并和点击操作记录为一个可重新回放的脚本路线时记录重放脚本的能力。然后当你远程监视服务器上的性能监视计数器时,就能同步地在一个或多个客户端上重新播放这个脚本。另外,你还能指定详细资料,如用于测试验证身份验证吞吐量所使用的用户账号,以及显示请求和测试计划日程之间的延迟。

当你在你安装了Web Application Stress Tool的时时候,它还在计算机上安装了一个服务,叫名为做“WebTool”的服务。如果你确信当不再需要这个工具时,您可以卸载Web Application Stress Tool。

问: 当Localstart.ASP返回了一个“正在创建中”响应时,发生了什么事情?

答: 这个“正在创建中”页面应该出现在从一个远程的IP地址对默认的Web站点进行访问的时候。如果你从一个内部的IP地址访问,IIS在线文档就会被显示。如果你在Internet Explorer中访问http://localhost,并且未安装Default.htm或Default.ASP,则Web站点将会运行IISStart.ASP。IISStart.ASP将检查下面两个条件:

你是否已经敲入输入了“localhost”。
客户端的IP地址是否与服务器端IP地址相匹配。
在任一种情况下,你都将会被重定向到Localstart.ASP,然后打开所需要的页面。

确定这些文件在你的系统上是存在的,并且在“文档”选项卡标签中调用的是IISStart.ASP。为了确定这些,你可以尝试写一段简短的.ASP网页,来显示服务器变量的值,如下:

Your local IP address is 207.46.249.190
The client IP address is 210.82.106.28

如果IP地址没有被识别,则可能是因为Localstart.ASP页未被调用。当然,你总是可以通过直接使用http://localhost/localstart.ASP来调用它。如果没有配置默认文档,在直接调用Localstart.ASP时就可能出现问题。脚本将返回下述消息:

目前当前,你没有为用户设置一个默认文档。当前所有试图连接到这个站点的用户都将收到一个“正在创建中”的页面。

问: 能在Microsoft Windows XP Home Edition中安装IIS或PWS吗?

答: Windows XP Home Edition不支持任何版本的IIS,没有任何可靠的方法能使其运行IIS。Windows XP Home Edition并未设计成一个Web应用程序的开发平台。在升级到Windows XP Professional后,你就可以在系统上安装IIS 5.1,以便利用ASP.Net进行开发工作。在Windows XP Professional上的IIS 5.1是一个全功能的Web服务器端,但是它只能建立10个并发连接,这是因为它只是一个工作站操作系统而不是服务器平台。Windows XP Home Edition还有一些与Windows XP Professional相同的其它限制,因为它也是一个工作站操作系统而不是服务器操作系统。大体上,你会发现,在Windows 2000 Professional和Windows 2000 Server或Advanced Server上的IIS 5.0中,这些差别是相类似的。无论怎样,对于使用.NET Framework来开发基于Web 的应用程序来说,Windows XP Professional才是一个优秀的环境。

问: ISAPI筛选器能在一个单独的进程空间中运行吗?

答: 为与Web服务器协同工作所开发的应用程序都有着特殊的要求。例如,你不能从一个URL中调用一个Notepad.exe实例并且希望在客户端的系统上看到一个记事本窗口。为了从IIS中与请求进行交互(并不是CGI),程序必须使用ISAPI编写。ISAPI是Internet服务器应用程序接口(Internet Server Application Programming Interface)的缩写。有两种可执行的ISAPI:扩展和筛选器。

可以从一个URL中直接调用ISAPI扩展,如http://localhost/myisapi.dll。假设你已经在目录上配置了IIS,允许脚本和可执行程序,并且用户有执行NTFS的许可权限,则dll将会运行。IIS允许你指定应用程序是在进程内(作为Inetinfo部分)运行还是在进程外(作为IIS 4.0上的MTX部分,或者作为IIS 5.x部分的dllhost)运行。当一个应用程序在进程外运行时,Inetinfo就从问题中被隔离出来。如果应用程序出现故障,Web服务器也会出现故障。

ISAPI筛选器又是另一个内容。ISAPI筛选器能改变进入或离开IIS的数据流。因此,ISAPI筛选器有着非常强大的功能,能用来实现客户日志、验证或更改数据流。对IIS 5.0来说,在ISAPI筛选器中实现的特性包括数据压缩、摘要验证和URLScan。

因为筛选器在IIS中扮演了一个如此重要的角色,所以它们总是作为Inetinfo部分运行在过程内。因此,正确的ISAPI筛选器结构对服务器的正常运行是必备的。你可能希望与Microsoft 产品支持服务一起工作来确定问题,因为处理这种例外可能是一个较大的挑战。

基于这个考虑,有两个新技术可以使生活更加轻松,IIS 6.0就是其中的一个。由于它是一个新的体系结构,所有的ISAPI筛选器都在进程外运行。这将使Web 服务器从一个捉摸不定ISAPI筛选器中隔离开来,但这实际上并没有真正解决问题。为了解决这个问题,你可以考试使用.NET语言在ISAPI方面做一些工作。通使用C++设计ISAPI筛选器相比,使用.NET实现相同的功能要大为简单。

问: 我在哪能获得这样的示例代码--它显示了如何在使用WebDAV的ASP中编辑文档?

答: 从IIS上的脚本中使用WebDAV的最好方法就是使用ASP.Net的WebClient类。如果你正在使用Windows XP或Windows Server 2003,WebDAV功能就是这个操作系统的一部分。这就允许你在一个Web服务器上使用HTTP引用一个文件,就像使用一个UNC路径名称一样。例如,你可以用NET USE * http://servername/directory来映射一个驱动器,然后通过使用驱动器符号来访问这个位置。另一方面,你还可以创建一个COM对象,它是一个WebDAV的客户端。你可以使用这个对象向IIS 5.x或IIS 6.0传递WebDAV动词。

另外,如果你以WebDAV为关键词搜索MSDN,你将会找到一些例子,它们教你如何使用XML来为Exchange和其它Microsoft服务器构造WebDAV的查询。在Microsoft Exchange 2000 Server SDK中有一个WebDAV的示例应用程序。

问: 当我试图用ASP去访问一个数据库时,我得到了一个“拒绝访问”的回应,这是什么原因?

答: 有一个名为“Filemon”的优秀免费工具,你可以从Sysinternals.com上获得它。你可以使用Filemon来快速诊断出绝大多数的权限问题,因为它能实时显示

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3