原因一:网站超过了IIS连接数
解决办法一:增加IIS连接数
备注一:Windows 2003的操作系统在提示IIS过多时并非像win2000系统提示“链接人数过多”,而是提示”Service Unavailable”
原因二:网站超过了IIS资源限制
解决办法二:增加网站的资源
备注二:Winodws2003中网站占用了超过IIS对该网站系统资源的限制后直接提示”Service Unavailable”
原因三:网站的程序发生太多的错误
解决办法三:修改程序错误
备注三:Winodws2003中网站错误太多,就会造成该网站所在的应用程序池出错,这个时候可以在Windows2003的日志中看到“应用程序池 ‘xxx’ 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误”,这个时候网站就会直接显示”Service Unavailable”
以上三个原因造成的”Service Unavailable”,一般现象是出现”Service Unavailable”后,多刷新几次,就可以打开。
原因四:ACCESS引擎错误
解决办法四:重启IIS
备注四:有一些文件造成了ACCESS数据库出现“灾难性故障”及“未将对象引用设置到对象的实例”的错误
原因四造成的”Service Unavailable”,现象是所有该服务器上的使用Access数据库的网站都出现错误,不能访问。
以上四个原因是常见的造成了”Service Unavailable”的原因,其他还有一些问题造成了该问题,基本只要IIS重启一下就可以的。
非常遗憾,我今天就遇到了这个问题,但是我出现”Service Unavailable”的原因并不在上面介绍的范围之内,当然也不是重启IIS就可以解决的。首先我是通过远程桌面用的localhost访问的默认站点,其他人根本无法访问。所以超出连接数是肯定不可能的。
通过反复检查IIS,我发现我的rewrite规则在isapi筛选器里面显示的是“未加载”。我把此筛选规则去掉,网站就可以正常访问了。很明显问题出在rewrite上,最终我发现当把rewrite文件夹属性添加了user的权限则正常了。