Service Unavailable 应用程序池 ’DefaultAppPool’ 提供服务的进程关闭时间超过了限制( 二 )


第五种Service Unavailable的情况,刚刚安装的IIS就出现了Service Unavailable,都不在那四种内,于是上服务器查看解决 。
因为是新装的IIS服务器,一般来说问题不可能出在iis本身,出现这样的问题一般先从权限方面考虑,先考虑IIS服务的启动帐户没有权限启动IIS 。
单击“开始——“设置——“控制面板——“管理工具——“服务,打开本地服务管理器,找到IIS Admin Service,双击打开IISADMIN属性,选择“登陆选项卡,显示登陆身份为本地系统帐户,那IISADMIN服务就没有权限问题 。单击“开始——“设置——“控制面板——“管理工具——“服务,打开本地服务管理器,找到World Wide Web Publishing Service,双击打开W3SVC服务属性,选择“登陆选项卡,显示登陆身份为本地系统帐户,那W3SVC服务就没有权限问题 。(这里为了更加易操作,将打开“服务的操作重新说了一遍)从这里可以排除了服务启动帐号没有权限启动的问题,下面还是回到终极解决方法中来 。
现象:单击“开始——“设置——“控制面板——“管理工具——“事件查看器,打开事件查看器,单击“系统,看到很多警告和错误,主要是以下几个:
1)来源是“W3SVC、事件ID为“1002的错误,描述是“应用程序池 "DefaultAppPool" 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误 。
2)来源是“W3SVC、事件ID为“1009的警告,描述是“为应用程序池 "DefaultAppPool" 提供服务的进程意外终止 。进程 ID 是 "1756" 。进程退出代码是 "0xffffffff" 。
3)来源是“DCOM、事件ID为“10016的错误,描述是“应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为{A9E69610-B80D-11D0-B9B9-00A0C922E750})的 本地 激活 权限授予用户 NT AUTHORITYNETWORK SERVICE SID (S-1-5-20) 。可以使用组件服务管理工具修改此安全权限 。分析:通过这几个事件可以判定应该是第三个事件ID为“10016的DCOM错误引起了事件ID为1009的应用程序池意外退出,从而造成事件ID为1002的应用程序池被自动禁用的W3SVC错误,下面就来解决 。问题确定:通过DCOM错误的提示,原因是NETWORK SERVICE用户没有权限启动{A9E69610-B80D-11D0-B9B9-00A0C922E750},找到了原因,下面就来解决这个问题
先查找这个CLSID{A9E69610-B80D-11D0-B9B9-00A0C922E750}对应的服务,单击“开始——“运行,输入“regedit启动注册表编辑器,在注册表编辑器的左侧树中选中“我的电脑,再使用快捷键“Ctrl F打开查找对话框,在“查找目标后输入刚才的CLSID:“{A9E69610-B80D-11D0-B9B9-00A0C922E750},“查看的复选框中只保留“项,回车执行查找任务 。查找到该CLSID,在注册表编辑器右侧显示了该CLSID的信息,从该信息得知,该CLSID对应的服务是IIS Admin Service,现在就可以确定NETWORK SERVICE用户没有权限启动IIS Admin Service 。打开“开始-“控制面板-“管理工具-“组件服务-“计算机-“我的电脑-“DCOM配置选项,找到“IIS Admin Service,右健选择“属性,找到“安全,在“启动和激活权限中编辑“自定义,添加帐号“NETWORK SERVICE , 赋予“本地启动和“本地激活的权限,重新启动IIS 。重启IIS,再次打开网页,现在已经正常显示了 。

推荐阅读