服务不可用-应用程序池禁用错误...有人知道为什么吗?

服务不可用-应用程序池禁用错误...有人知道为什么吗?

我们的少数站点中间出现了令我们困惑的错误。

我们的设置是:

  • Windows 服务器 2003
  • 互联网信息服务
  • .NET 3.5
  • 我们有大约 35 个网站在 IIS 上运行
  • 每个站点都有自己的应用程序池
  • 每个应用程序池都有身份:网络服务

症状是:站点的应用程序池停止,当您浏览该站点时,只会看到:

暂停服务

在事件日志中,我们有一个错误,如下所示:

由于为该应用程序池提供服务的进程出现一系列故障,应用程序池“AppPool1”被自动禁用。

我们有几个警告导致错误,看起来像这样(笔记:除了进程 ID 之外,警告看起来相同):

为应用程序池“AppPool1”提供服务的进程与万维网发布服务发生致命通信错误。进程 ID 为“292”。数据字段包含错误编号。

这是什么原因造成的?正如我所说,这种情况并不经常发生……上一次大约是 6 个月前……而且通常发生在同一个网站/应用程序池中。

有任何想法吗?

干杯!

答案1

应用程序池被禁用的原因是因为快速失败保护处于启用状态,因此在出现多个应用程序池故障后,它将停止该池而不是重新启动它。

您可以禁用快速失败保护,但显然这意味着您仍然会收到错误,并且每次都需要重新启动应用程序池;最好的解决方案是首先找出它崩溃的原因。

不幸的是,你从 IIS 获得的错误消息并不是很有用,因此为了更好地了解导致崩溃的原因,你需要运行 IIS 调试工具,例如调试诊断或者IIS状态获取有关错误的更多信息。

这可能是某个网站运行的特定代码的问题,或者如果多个网站都出现这种情况,那么可能是更普遍的问题。运行这些工具应该能让您更好地了解导致问题的原因。

相关内容