原因一:网站超过了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重启一下就可以的。 原因五:ISAPI筛选器没有正常加载 1、打开该网站,直接显示Service Unavailable,那就去看IIS,发现该网站所在的应用程序池被禁用; 2、手动启动该应用程序池,再打开该网站,继续提示Service Unavailable; 3、把该网站换了一个应用程序池,再打开该网站,还是提示Service Unavailable; 从上面三点来看,问题不在网站,也不在应用程序池,而在IIS本身,进入下一个阶段的排查。 1. 打开“事件查看器”,先查看系统日志,里面出现了很多来自W3SVC的日志,如下图 意 点开错误日志,显示如下图内容 所示。 2. 任3. 再到应用程序日志里面查看,也是有很多的错误日志,显示如下图内容 4. 任意 点开错误日志,显示如下图内容 5. 已经明白了错误之所在,是因为PHP的ISAPI没有加载成功造成的,再到IIS中确认一下,果然PHP的筛选器状态前是红色的向下箭头,没有加载成功,如下所示 6. 一般加载不成功都是因为NTFS权限造成的,就去看一下PHP目录的NTFS权限,显示只有管理员组和系统组可以访问,如下图所示 7. 添加用户组的权限到PHP目录,设置权限如下图所示。 8. 设置完毕,单击“开始”——“运行”,输入iisreset重启IIS 9. IIS重启完毕,再打开IIS管理器查看ISAPI筛选器状态,此时PHP已经成功加载 10. 最后,在浏览器中打开网站,发现已经正常显示出来了。 原因六:NETWORK SERVICE用户没有权限启动IIS Admin Service 因为是新装的IIS服务器,一般来说问题不可能出在IIS本身,出现这样的问题一般先从权限方面考虑,先考虑IIS服务的启动帐户没有权限启动IIS。 1. 单击“开始”——“设置”——“控制面板”——“管理工具”——“服务”,打开本地服务管理器,找到IIS Admin Service,双击打开IISADMIN属性,选择“登陆”选项卡,显示登陆身份为本地系统帐户,那IISADMIN服务就没有权限问题。 2. 单击“开始”——“设置”——“控制面板”——“管理工具”——“服务”,打开本地服务管理器,找到World Wide Web Publishing Service,双击打开W3SVC服务属性,选择“登陆”选项卡,显示登陆身份为本地系统帐户,那W3SVC服务就没有权限问题。(这里为了更加易操 作,将打开“服务”的操作重新说了一遍) 本文来源:https://www.wddqw.com/doc/6ee3fbf9c2c708a1284ac850ad02de80d4d806e5.html