IIS服务器出错的原因是复杂的。象服务启动失败、IIS进程中断或者站点不能启动这些错误都会在系统日志中记录一个错误事件。不论IIS出现何种错误,在确定排错方案之前,都应先使用事件查看器查阅系统日志所记录的相关事件。某些错误显然是由服务器硬件的损坏而造成的,而另一些由于软件原因造成的错误往往不易察觉。本节就一般性的IIS排错提供指导性的介绍。
重新启动IIS
?重新启动IIS服务的过程中,全部当前连接都不能保留,且重启期间服务器上的全部站点都不能工作。如果重启IIS服务不能解决问题,则重启服务器亦不会有效。
当站点应用程序不能正常工作时,按照下述步骤重新启动服务器的IIS服务:
1.在IIS管理控制树中展开IIS节点,选择需要重新启动IIS服务的计算机。
2.单击【操作】菜单,选择【重新启动IIS】。
3.如右上图所示,在【停止/启动/重新启动】对话框中的【您向要IIS做什么】下拉列表中选择【重新启动服务器的IIS】
,单击【确定】。
4.如右下图所示,【正在关闭】对话框显示重新启动IIS的进度,如果对话框长时间没有反应,单击【现在结束】并重新进行上述操作。
注意:不能使用基于HTML的IIS管理器(远程管理模式)进行上述重启操作。
对于单个站点的稳定性问题,不必重新启动整个IIS进程,只要重启站点即可。
IIS排错
备份/还原IIS
如果世界上存在一个万无一失的服务器安全规划方案,那就是备份。曾经有人指出:一个优秀的系统管理员所做的最重要的三项工作就是:备份、备份、备份。
IIS的实现机制包括一个类似注册表的元数据库:MetaBase,有关IIS本身和站点的配置属性全部保存在Windows 2000和元数据库MetaBase中。因此,只要将相关的注册表和元数据库进行备份,即可保存站点相关的全部配置。即使在删除站点甚至重新安装IIS之后,仍然能够利用备份恢复到原来的状态。
备份IIS的步骤如下:,
1.在IIS管理器中展开IIS节点,选择向要备份的计算机。
2.单击【操作】菜单,选择【备份/还原配置】。
3.如右图所示,在【备份/还原配置】对话框中的【备份】列表中列出全部备份文件以及备份时间。单击【创建备份】按钮。
4.在【备份配置】对话框中指定新建备份的名称,单击【确定】。
5.单击【关闭】完成备份。
默认情况下,备份文件将保存在 Winntsystem32inetsrvMetaBack目录中。
恢复备份的方法与此类似,在【备份/还原配置】对话框中的【备份】列表中选择一个备份文件,单击【还原】。然后再如左图所示的提示对话框中单击【确定】,一段时间之后,IIS服务器恢复到进行备份时所处的状态。
如果服务器重装IIS之后需要恢复备份,则在上述恢复操作的基础上,还应进行额外的操作,步骤如下:
1.在命令提示符下,键入cscript.exe X:InetPubAmdinScriptsAdsutil.vbs enum w3svc,此处"X"是安装IIS的驱动器号。从列出的设置中,查找WamUserName和相关的WAMUserPass的值。
2.在控制面板中双击【管理工具】,然后双击【计算机管理】。
3.选择【本地用户管理器】,然后单击【用户】。双击【IWAM_computername】用户帐户。键入从以前步骤找到的WAMUserPass值,并单击【确定】。
4.在【配置备份名】对话框中,选择创建的备份文件,然后单击【还原】。此时配置将得到完全还原。
IIS排错
TCP/IP排错
TCP/IP协议问题往往是导致IIS不能正常工作的原因。当IIS出现错误但是可以判断IIS服务本身没有问题时,就要考虑是否网络连接出现问题,简单排除网络硬件损坏所造成的问题之后,我们的注意力就应集中在网络协议,主要是TCP/IP协议上。
Windows 2000提供了一系列TCP/IP排错工具,这些主要基于命令提示行的工具提供了诊断网络问题的强大手段。
使用ipconfig工具检查TCP/IP配置
ipconfig是一个查阅和管理客户机TCP/IP配置状态的命令提示行工具。在命令提示行中键入:ipconfig并回车,得到如右图所示的计算机基本TCP/IP配置属性,包括IP地址、子网掩码和缺省网关。
在命令提示行中键入:ipconfig /all并回车,得到详细模式的TCP/IP配置状态,除了基本信息之外,还包括主机名、DNS设置、WINS设置、DHCP设置以及物理地址、节点类型等TCP/IP信息。
如果计算机启用DHCP并使用DHCP服务器获得配置,可以使用ipconfig /renew命令开始刷新租约。也可以使用带/release选项的ipconfig命令立即释放主机的当前DHCP配置。
对于Windows 95和Windows 98客户机,应使用 winipcfg命令而不是ipconfig命令。
使用ping命令测试连接
Ping命令有助于验证IP级的连通性,发现和解决问题时,可以使用Ping向目标主机名或IP地址发送ICMP回应请求。在需要验证主机能否连接到TCP/IP网络和网络资源时使用Ping。
Ping命令实际上是向目标主机发送若干(缺省为4个)数据包,如果本地计算机与目标主机之间能够连通,目标主机将回复一条响应信息,如右上图所示,响应信息包括响应时间和TTL值。成功的Ping同一台主机说明IP数据能够在本地与目标主机之间传送。
如果收到超时信息,如右下图所示,则说明本地主机与目标主机之间的TCP/IP连接不能建立,可能的原因包括网络故障,协议错误以及TCP/IP配置错误等。
在确认网络连通性的时候,应按照以下顺序进行Ping测试:
1.Ping本地循环地址127.0.0.1,确定本地TCP/IP配置是否正确。
在命令提示行键入Ping 127.0.0.1。
2.Ping本机地址,检验本地IP地址设置是否正确。
3.Ping缺省网关地址,检验能否与本地子网之外的主机进行通信。
4.Ping远程子网上的主机,检验能否通过路由器进行远程通信。
如果以上Ping命令均能够得到响应,说明TCP/IP配置能够支持网络通信。否则,针对相应的网络组件进行设置检查。
使用netstat工具显示连接统计
可以使用netstat命令显示协议统计信息和当前的TCP/IP连接。
netstat -a命令将显示所有连接,而netstat -r显示路由表和活动连接。netstat -e命令将显Ethernet 统计信息,而netstat -s显示每个协议的统计信息。
如果使用 netstat -n,则不能将地址和端口号转换成名称。如右图是netstat的输出示例: