我正在努力在 IIS8 中设置环境,我搜索了很多但找不到正确的解决方案。
我检查了错误日志,但不知道。
C:\Windows\System32\LogFiles\HTTPERR
- 2013-10-09 09:28:39 192.168.43.205 60172 192.168.43.205 80 HTTP/1.1 GET / 503 2 AppOffline qa.hti.local
- 2013-10-09 09:28:39 192.168.43.205 60192 192.168.43.205 80 HTTP/1.1 GET /favicon.ico 503 2 AppOffline qa.hti.local
然后在事件查看器:
警告:
- 为应用程序池“qa.hti.local”提供服务的工作进程“11188”中协议“http”的侦听器通道报告侦听器通道故障。数据字段包含错误编号。
- 为应用程序池“qa.hti.local”提供服务的工作进程“7492”中协议“http”的侦听器通道报告侦听器通道故障。数据字段包含错误编号。
- 为应用程序池“qa.hti.local”提供服务的工作进程“9088”中协议“http”的侦听器通道报告侦听器通道故障。数据字段包含错误编号。
- 为应用程序池“qa.hti.local”提供服务的工作进程“9964”中协议“http”的侦听器通道报告侦听器通道故障。数据字段包含错误编号。
- 为应用程序池“qa.hti.local”提供服务的工作进程“7716”中协议“http”的侦听器通道报告侦听器通道故障。数据字段包含错误编号。
我不明白这个警告是什么意思。
错误:由于为该应用程序池提供服务的进程出现一系列故障,应用程序池“qa.hti.local”正在被自动禁用。
笔记:我了解到连续 5 次失败会导致 APP Pool 崩溃,并且这种情况还会增加。我也尝试增加这个值,但没有成功。
OS: Windows server 2012
IIS Version: 8
请分享您的想法。
答案1
供参考 -
我想补充一点,我也遇到过这种情况,并且对解决方案很感兴趣。话虽如此,我的规格似乎与您的相符,但我想知道您的服务器负载。
操作系统:Windows Server 2012 标准版
IIS:IIS 8
应用程序堆栈:.NET 4.0
我们注意到的一件事是,当没有任何负载时,不会发生此问题。我们可以在只有 5 或 10 个用户的情况下整天使用服务器,但当服务器与场中的其他用户一起投入生产时,我们就会遇到间歇性和随机的 503 问题。
有多少客户端/用户正在连接到您的服务器?
您是否尝试过以下操作:
应用程序池高级设置:
队列长度: 默认值为 1000,如果您有 x64 系统,并且 RAM 超过 4GB,请尝试将其设置为 5000
关于队列长度的注意事项:在队列长度中,您实际上可能会在 HTTP 系统错误日志中看到与应用程序池死亡相对应的错误。如果如果你这么做了,这也许能解决问题。
私有字节内存: 您是否在此处指定设置,或者您的值为“0”(表示无限制)。
让我们知道您的发现,并告知队列长度是否适合您。
请告知我们
答案2
我们通过关联应用程序和系统事件日志解决了这个问题。applicationhost.config 或 web.config 中列出了一个不在文件系统上的模块。应用程序事件日志调出了文件路径。一旦我将模块添加回服务器,应用程序池就会启动。
答案3
此服务器上是否有任何远程桌面/TS 网关功能?在运行 TS 网关的同一台服务器上运行 32 位 IIS 应用程序似乎存在一个已知问题。
为了解决这个问题,您可以将应用程序池设置为运行 64 位(如果您使用纯 .NET 代码,这应该可以正常工作)。
此外,可能存在未正确安装的模块。这篇博文相对较旧,但显示出与您的类似的症状,解决方案是查看事件日志是否显示任何其他错误组件并首先解决这些组件。
答案4
当我遇到类似的问题并寻找解决方案时,我遇到了这个问题。
我的问题具体与我们的 IIS 共享配置有关。我们在一台服务器上启用了 IIS 中的一项功能(Http 重定向),而其他服务器上均未安装该功能,因此该服务器的“功能”与所有服务器不同步。
我能够通过卸载第一台服务器上的新添加项来解决问题,这样它就可以与其他服务器匹配了。稍后重置 IIS,AppPools 不再出现故障,一切恢复正常。
因此,如果您正在使用 IIS 共享配置,并且 IIS 正在创建“服务不可用”错误,并且 AppPools 正在关闭,则这可能是系统配置不同步的症状,从而破坏了共享配置。希望这篇文章能帮助某人比我更快地找到解决方案。