近期有不法分子冒充官方收费编辑词条,百度百科严正声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗!查看详情
X
收藏
393
定义
由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况
是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个Retry-After起头用以标明这个延迟时间。如果没有给出这个Retry-After信息,那么客户端应当以处理500(Server Internal Error)响应的方式处理它。注意:503状态码的存在并不意味着必须在服务器过载的时候使用它。某些服务器只不过是希望拒绝某些客户端的连接。
分析
出现503错误,其日志都是记录在%Systemroot%\System32\LogFiles\HTTPERR\httperr1.log中。
其中的s-reason项:
1、若为AppShutdown,可能是由于CPU占用率太高导致自动关闭应用程序池。
2、若为AppOffline,可能是由于应用程序标识出错引起的。
3、若为Disabled,可能是由管理员手工关闭应用程序池引起的。
4、若为QueueFull,可能是因为请求时应用程序池队列已满而生成该错误。
任何客户端在和您的网络服务器通讯时,都需经过以下循环:
从您站点的 IP 名称 ( 即您的网页地址 - URL, 不带起始的 ‘http://\') 获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP地址转换的对应关系 ) 由域名服务器(DNSs) 提供。 打开一个 IP socket (套接字) 连接到该 IP 地址。 通过该 socket 写 HTTP 数据流。 从您的网络服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析 该数据流得到 状态编码 和其他有用信息。 该错误在以上所述的最后一步生成,即当客户端收到 HTTP 状态编码 并识别其为 ‘503’ 时。
网页出现
2、当请求到达时应用程序池队列已满。
3、应用程序池标识没有使用预定义账户:网络服务,而自己配置了标识,但是配置的这个用户不属于IIS_WPG组
4、应用程序池启用了CPU监视,并且设置了CPU利用率超过一定百分比关闭应用程序池,而开发人员写的服务端页面(.asp,.aspx)执行效率不高,会引起CPU的长时间占用,最终达到设置的百分比,从而引起应用程序池关闭
6、web.config的system.web/httpRuntime节点的appRequestQueueLimit属性设置的值太低。
主机站点
主要原因有两点:
1、该站点正在被攻击。对于最新型的攻击,其实是ddos的一种派生,原理在于找数千个IP,同时向服务器的apache发出请求,然后 立即断开,让apache处于等待状态,致使apache线程全部被填满,致使服务器死机。因此,为了保证大多数客户的利益,我们给每个 空间,作出了每19秒64个php请求的限制。注意,是php请求,一般的图片请求和html请求不包括在内。
2、该程序占用的php线程过多,有的程序没有进行好优化处理,一个点击即可产生数个,甚至数十个php线程。这样的话,几个点击就可以把该时段的64个php线程全部填满了。因此出现503错误。建议优化一下程序,尽量少用require(“请求”之意)等语句。解决方案:
要解决此问题,按照下列步骤操作:
请按照下列步骤来确定虚拟服务器正在使用的应用程序池。
a.单击“开始”,指向“管理工具”,然后单击“Internet信息服务(IIS)管理器”。
b.展开“ServerName”,展开“Web站点”,右键单击虚拟服务器,然后单击“属性”。
c.单击“主目录”选项卡。为虚拟服务器配置的应用程序池列在“应用程序池”框中。
d.单击“确定”。
2、验证应用程序池帐户使用的密码是否正确。IIS不会自动轮询ActiveDirectory目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文“症状”部分所描述的错误信息。
3、验证应用程序池帐户是服务器上的IIS_WPG组和STS_WPG组的成员。
4、重新启动IIS以回收应用程序池。
您的 Web服务器实际上处于“关闭维修”状态。 它仍然在最低限度地运行, 因为它至少可以响应 503 状态码, 但全面服务是不可能的, 即您的网站不可用。 可能的原因有很多, 但一般来说, 是由于您的 Web服务器操作员的人为干预。 通常您就应知道有人正在努力解决此问题,正常服务将被尽快恢复。
请和您网站的系统操作员联系,以确定为什么服务停止了。 和我们比起来,他们将能更好地帮您解决这类错误。
词条标签:
计算机学 , 互联网