Service Unavailable 应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制
终极解决方法中来。
- 现象:单击“开始”——“设置”——“控制面板”——“管理工具”——“事件查看器”,打开事件查看器,单击“系统”,看到很多警告和错误,主要是以下几个:
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 AUTHORITY\NETWORK 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,再次打开网页,现在已经正常显示了。
浏览一asp文件,出现找不到网页的错误,这个好解决。一定是刚刚安装IIS,没有启动IIS解析asp文件的支持,在IIS的“WEB服务扩展”中,把“Active Server Page”选择允许,就可以了。再在IIS中设置“启用父路径”。再浏览asp文件,正常。