Http错误503服务不可用

我努力在IIS8中设置环境,我search了很多,但找不到一个正确的解决scheme。

在这里输入图像说明

我检查了错误日志,但不知道。

C:\ WINDOWS \ SYSTEM32 \ LogFiles文件\ HTTPERR

  1. 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
  2. 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

然后在事件查看器中:

警告:

  1. 工作进程“11188”服务应用程序池“qa.hti.local”中的协议“http”的监听器通道报告监听器通道故障。 数据字段包含错误编号。
  2. 工作进程“7492”服务应用程序池“qa.hti.local”中的协议“http”的监听器通道报告了监听器通道故障。 数据字段包含错误编号。
  3. 工作进程“9088”服务应用程序池“qa.hti.local”中的协议“http”的监听器通道报告了监听器通道故障。 数据字段包含错误编号。
  4. 工作进程“9964”服务应用程序池“qa.hti.local”中的协议“http”的侦听器通道报告了侦听器通道故障。 数据字段包含错误编号。
  5. 工作进程“7716”服务应用程序池“qa.hti.local”中的协议“http”的监听器通道报告了监听器通道故障。 数据字段包含错误编号。

我不明白警告是什么意思。

错误:应用程序池“qa.hti.local”正被自动禁用,因为服务该应用程序池的进程中存在一系列故障。

注意:我了解到,连续5次失败导致APP池崩溃,这可能会增加。 我也试图增加这个,但没有成功。

OS: Windows server 2012 IIS Version: 8 

请分享你的想法。

供参考 –

我想补充一点,我也正在经历这一点,并有一个解决scheme的既得利益。 这就是说,我的规格似乎与你的匹配,但是我想知道你的服务器负载。

操作系统:Windows Server 2012 Standard

IIS:IIS 8

应用程序堆栈:.NET 4.0

我们注意到的一件事是这个问题在没有任何负载时不会发生。 我们可以只用5或10个用户就可以一天到达服务器,但是服务器与服务器中的其他服务器一起投入生产,我们会得到间歇性和随机的503问题。

有多less客户/用户连接到您的服务器?

你有没有尝试过以下内容:

应用程序池高级设置:

队列长度:默认值是1000,如果你有一个x64系统,并且RAM大于4GB,请尝试将它设置为5000

有关队列长度的注意事项:在队列长度上,实际上可能会在与应用程序池相对应的HTTP系统错误日志中看到错误。 如果你这样做,这可能是一个修复。

私人字节存储器:你是在这里指定一个设置,还是你的值为“0”(意味着无限制)。

让我们知道你的发现,如果队列长度适合你。

让我们知道这些

此服务器是否具有远程桌面/ TS网关function? 在运行TS Gateway的服务器上运行32位IIS应用程序似乎存在已知问题。

为了解决这个问题,你可以设置你的应用程序池运行64位(如果你使用纯.NET代码,这应该工作得很好)。

另外,可能有一个模块没有正确安装。 这个博客文章相对比较陈旧,但是却显示了类似的症状,解决scheme是查看事件日志是否显示其他错误组件并首先解决这些错误组件。

当我遇到类似的问题并寻找解决scheme时,我遇到了这个问题。

我的问题具体与我们的IIS共享configuration有关。 我们在其中一台服务器(Http Redirect)上的IIS中启用了一项function,该function未安装在其他服务器上,因此服务器“function”与所有服务器不同步。

我能够通过卸载第一台服务器上的新增function来解决问题,以便回到与其他服务器相匹配的状态。 稍后IIS重置,AppPools不再下降,一切恢复正常。

因此,如果您使用的是IIS共享configuration,并且IIS正在创build“服务不可用”错误,并且AppPool正在closures,那么这可能是系统configuration不同步的一个症状,这会破坏共享configuration。 希望这篇文章能帮助别人更快的find解决scheme。

我们通过关联应用程序和系统事件日志来解决这个问题。 applicationhost.config或web.config中列出的模块不在文件系统中。 应用程序事件日志调出了文件path。 一旦我将模块添加回服务器,应用程序池就开始了。