最近在做一个项目,上线之后有点问题,就切回原来的服务。然后我再访问我上线的项目链接,页面报错如下:
页面提示:服务暂时不可用
为什么会这样呢?因为我们运维把前端服务先停了,所以服务暂时不可用。
说实话,我之前很少遇到503的错误,那这次就好好总结一下。
我先百度了一下,对于503的解释如下:
503是一种HTTP状态码。英文名503 Service Unavailable与404(404 Not Found)是同属一种网页状态出错码。前者是服务器不可访问时给客户端的一种状态,后者是访问了服务器不存在的资源。
综上所述:
总的来说503就是服务存在,但是暂时还不能访问。
那么什么情况会导致503呢?
由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个Retry-After起头用以标明这个延迟时间。如果没有给出这个Retry-After信息,那么客户端应当以处理500(Server Internal Error)响应的方式处理它。注意:503状态码的存在并不意味着必须在服务器过载的时候使用它。某些服务器只不过是希望拒绝某些客户端的连接。
我的理解是
1、网站在维护中,拒绝客户连接;
2、并发请求过多,超出了服务器的限制。
看了好多博文,有的文章说产生503的原因如下:
-
1、站点遭到攻击,在超过限制时报503错误,待攻击停止就可以恢复了;
-
2、站点规模较大,并发请求过多,这种建议修改优化程序或需要升级更高类型主机;
-
3、程序有错误,在短时间内产生多次工作进程崩溃,会因IIS7的快速故障防护功能而关闭程序池;
-
4、站点提供下载,当带宽超过限制时会报错,需停止下载功能,或者升级主机解决;
-
5、网站在维护中,拒绝客户连接。
第五点是我自己补充的,哈哈。
以后再发现出现503的情况会再次进行补充。
努力
加油!