应用程序池 'DefaultAppPool' 被自动禁用

本文介绍了如何解决部署网站时遇到的Service Unavailable错误。通过排查IIS应用池问题、检查事件日志及调整COM服务器权限等步骤,最终定位并修复了故障。

重装系统了,今天部署一个网站显示Service Unavailable错误

google了一下,解决了,下面的解决的方法:

 

1.首先是打开IIS管理器.检查应用程序池,果然"DefaultAppPool"出错了.而且不是平常的停止的图标.

2.试着 重启"DefaultAppPool"应用程序池,但是没过多久程序池又出错了.

3.到了查看事件日志的时候了.发现了以下这类的日志

事件类型: 警告
事件来源: W3SVC
事件种类: 无
事件 ID: 1009
日期:  2008-6-24
事 件:  16:12:33
用户:  N/A
计算机: MAIL
描述:
为应用程序池 'DefaultAppPool' 提供服务的进程意外终止。进程 ID 是 '3160'。进程退出代码是 '0xffffffff'。

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

4.会不会是默认的程序池出问题了?于是,尝试新建一个新的程序池.将默认网站的程序池改成新的.但是问题依旧.出现相似的日志.

事件类型: 错误
事件来源: W3SVC
事件种类: 无
事件 ID: 1002
日期:  2008-6-25
事 件:  14:17:04
用户:  N/A
计算机: MAIL
描述:
应用程序池 'AppPool #1' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误。

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。


5.再查找事件日志另一个日志引起了我的注意.如下:

事件类型: 错误
事件来源: DCOM
事件种类: 无
事件 ID: 10016
日期:  2008-6-24
事 件:  16:12:33
用户:  NT AUTHORITY/NETWORK SERVICE
计算机: MAIL
描述:
应 用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为
{A9E69610-B80D-11D0-B9B9-00A0C922E750}
) 的 本地 激活 权限授予用户 NT AUTHORITY/NETWORK SERVICE SID (S-1-5-20)。可以使用组件服务管理工具修改此安全权限。

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

6.有点戏了.看看CLSID 为 {A9E69610-B80D-11D0-B9B9-00A0C922E750} 是什么服务先.最后在下面的注册表项中找到它:

HKEY_CLASSES_ROOT/AppID/{A9E69610-B80D-11D0-B9B9-00A0C922E750}

7.名字刚好是"IIS Admin Service"

8.好了,找到是什么了.从"管理工具"中打开"组件服务",找到IIS Admin Service对比一下CLSID是否一致

9.确定是这个以后,接下来的就是为它增加NETWORK SERVICE权限了.
A启动和激活权限,点击"自定义"..

B.在用户列表中添加"NETWORK SERVICE",

C.并给予本地启动和激活权限,保存退出.

到此问题解决.

### IIS 应用程序池配置指南 #### 配置应用程序池的关键参数 在 Windows Server 2003 的 IIS 6.0 中,应用程序池的配置对于系统的稳定性和性能至关重要。以下是几个重要的配置项及其作用: 1. **回收策略** - 设置应用程序池的工作进程定期重启可以有效防止内存泄漏等问题。可以通过调整 `Idle Time-out` 参数来控制工作进程在空闲状态下的超时时间[^1]。 - 可以通过设置固定的时间间隔(如每 1740 分钟即 29 小时)或者基于特定条件(如请求数达到一定阈值)触发工作进程自动回收。 2. **快速失败保护** - 默认情况下,IIS 启用了快速失败保护功能。如果某个应用程序池内的工作进程在指定时间内连续崩溃超过设定次数,则会暂时禁用应用程序池[^3]。 - 用户可以根据实际需求修改这些限制值,例如增加允许的最大失败次数或延长检测周期。 3. **CPU 使用率限制** - 为了防止单个应用占用过多资源影响其他服务正常运行,建议合理规划 CPU 资源分配比例并启用相应的限流机制。 - 如果发现某些异常行为导致过高负载,则可通过降低优先级等方式加以干预直至问题得到彻底解决为止。 #### 解决常见问题的方法论 当遇到与应用程序池有关的各种错误提示时,可以从以下几个方面入手分析原因: - 检查日志文件:查看 event viewer 和 iis logs 是否记录有相关警告信息; - 测试基础环境兼容性:确认操作系统版本、补丁级别以及 .NET Framework 安装状况均满足最低要求 ; - 排除权限不足因素干扰 :确保 aspnet_wp.exe 或 w3wp.exe 进程拥有足够的访问权利去读取必要的 dll 文件和其他依赖组件 ; 另外值得注意的是 ,有时即使表面上看起来像是 app pool 自身存在问题但实际上可能是由于外部调用不当引起的连锁反应所致. ```xml <add name="DefaultAppPool"> <processModel identityType="ApplicationPoolIdentity"/> </add> ``` 以上 XML 片段展示了如何定义一个新的默认应用程序池身份类型为 ApplicationPoolIdentity.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值