网站出现503错误的哪些解决办法

 我来答
家居搬运工
2017-07-10 · 说说家居家装,如何装修好一个家
家居搬运工
采纳数:6430 获赞数:35946

向TA提问 私信TA
展开全部

503是一种HTTP状态码。英文名503 Service Unavailable是一种网页状态出错码。是网页程序没有相关的结果后返回的一种状态,要解决此问题,按照下列步骤操作:

1、验证是否已为虚拟服务器配置了应用程序池。默认的应用程序池是MSSharePointPortalAppPool。

2、请按照下列步骤来确定虚拟服务器正在使用的应用程序池。

a.单击“开始”,指向“管理工具”,然后单击“Internet信息服务(IIS)管理器”。

b.展开“ServerName”,展开“Web站点”,右键单击虚拟服务器,然后单击“属性”。

c.单击“主目录”选项卡。为虚拟服务器配置的应用程序池列在“应用程序池”框中。单击“确定”。

3、验证应用程序池帐户使用的密码是否正确。IIS不会自动轮询ActiveDirectory目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,可能会收到本文“症状”部分所描述的错误信息。

4、验证应用程序池帐户是服务器上的IIS_WPG组和STS_WPG组的成员。

5、重新启动IIS以回收应用程序池。

年轻的老刘
2015-05-04 · 专注传统行业互联网推广
年轻的老刘
采纳数:994 获赞数:4374

向TA提问 私信TA
展开全部

首先我们得弄明白什么是503错误;503是一种HTTP状态码。英文名503 Service Unavailable与404(404 Service Unavailable)是同属一种网页状态出错码。前者是服务器出错的一种返回状态,后者是网页程序没有相关结果后返回的一种状态,需要优化网站的时候通常须要制作404出错页已便网站整体优化。由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个 Retry-After起头用以标明这个延迟时间。如果没有给出这个 Retry-After信息,那么客户端应当以处理500(Server Internal Error)响应的方式处理它。 503

  注意:503状态码的存在并不意味着服务器在过载的时候必须使用它。某些服务器只不过是希望拒绝客户端的连接。

  其次要弄明白503产生的原因;造成503错误主要有以下几种情况,

1、网络管理员可能关闭应用程序池以执行维护。

2、当请求到达时应用程序池队列已满。

3、应用程序池标识没有使用预定义账户:网络服务,而自己配置了标识,但是配置的这个用户不属于IIS_WPG组,

4、应用程序池启用了CPU监视,并且设置了CPU利用率超过一定百分比关闭应用程序池,而开发人员写的服务端页面(.asp,.aspx)执行效率不高,会引起CPU的长时间占用,最终达到设置的百分比,从而引起应用程序池关闭   

5、应用程序池的性能选项卡的请求队列限制所填的数值太小,默认为1000。

6、web.config的system.web/httpRuntime节点的appRequestQueueLimit属性设置的值太低。

  还有一种情况是使用虚拟主机站点出现503错误,主要原因有两点:

1、该站点正在被攻击。对于最新型的攻击,其实是ddos的一种派生,原理在于找数千个IP,同时向服务器的apache发出请求,然后 立即断开,让apache处于等待状态,致使apache线程全部被填满,致使服务器死机。因此,为了保证大多数客户的利益,我们给每个 空间,作出了每19秒64个php请求的限制。注意,是php请求,一般的图片请求和html请求不包括在内。   

2、该程序占用的php线程过多,有的程序没有进行好优化处理,一个点击即可产生数个,甚至数十个php线程。这样的话,几个点击就可以把该时段的64个php线程全部填满了。因此出现503错误。建议优化一下程序,尽量少用require(“请求”之意)等语句。

  最后就是高明白怎么解决;要解决503问题,按照下列步骤操作: 

  1. 验证是否已为虚拟服务器配置了应用程序池。默认的应用程序池是MSSharePointPortalAppPool。   

  2. 请按照下列步骤来确定虚拟服务器正在使用的应用程序池。   

  3. a.单击“开始”,指向“管理工具”,然后单击“Internet信息服务(IIS)管理器”。   

  4. b.展开“ServerName”,展开“Web站点”,右键单击虚拟服务器,然后单击“属性”。   

  5. c.单击“主目录”选项卡。为虚拟服务器配置的应用程序池列在“应用程序池”框中。   

  6. d.单击“确定”。   

  7. 2、验证应用程序池帐户使用的密码是否正确。IIS不会自动轮询ActiveDirectory目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文“症状”部分所描述的错误信息。   

  8. 3、验证应用程序池帐户是服务器上的IIS_WPG组和STS_WPG组的成员。   

  9. 4、重新启动IIS以回收应用程序池。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陛下bb
2018-03-30 · TA获得超过1.1万个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:58.4万
展开全部

503是一种HTTP状态码。英文名503 Service Unavailable与404(404 Not Found)是同属一种网页状态出错码。前者是服务器出错的一种返回状态,后者是网页程序没有相关的结果后返回的一种状态,需要优化网站的时候通常需要制作404出错页以便网站整体优化。

出现原因分析:

1.网络管理员可能关闭应用程序池以执行维护。

2.当请求到达时应用程序池队列已满。

3.应用程序池标识没有使用预定义账户:网络服务,而自己配置了标识,但是配置的这个用户不属于IIS_WPG组。

4.应用程序池启用了CPU监视,并且设置了CPU利用率超过一定百分比关闭应用程序池,而开发人员写的服务端页面(.asp,.aspx)执行效率不高,会引起CPU的长时间占用,最终达到设置的百分比,从而引起应用程序池关闭。

5.应用程序池的性能选项卡的请求队列限制所填的数值太小,默认为1000。

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("请求"之意)等语句。

解决方案步骤操作方案一:

1.验证是否已为虚拟服务器配置了应用程序池。默认的应用程序池是MSSharePointPortalAppPool。请按照下列步骤来确定虚拟服务器正在使用的应用程序池。

a.单击"开始",指向"管理工具",然后单击"Internet信息服务(IIS)管理器"。

b.展开"ServerName",展开"Web站点",右键单击虚拟服务器,然后单击"属性"。

c.单击"主目录"选项卡。为虚拟服务器配置的应用程序池列在"应用程序池"框中。

d.单击"确定"。

2.验证应用程序池帐户使用的密码是否正确。IIS不会自动轮询ActiveDirectory目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文"症状"部分所描述的错误信息。

3.验证应用程序池帐户是服务器上的IIS_WPG组和STS_WPG组的成员。

4.重新启动IIS以回收应用程序池。

方案二:

1.进WIN2008服务器,打开IIS,找到常出503错误的应用程序池,选中该程序池。

2.选中应用程序池后,选择右边的高级设置,打开应用程序池高级设置。

3.在应用程序池高级设置中,找到回收选项,禁用重叠回收一项选择ture,这样可以创建一个工作进程之前退出现有工作进程。

4.设置好回收后,接下来设置快速故障。找到”服务不可用“响应类型,默认为httplevel,如果是改响应类型,在应用程序池停止时则返回HTTP503错误。

5.所以应当把”服务不可用“响应类型设置成TcpLevel,设置成改响应类型,http.sys操作系统核心组件会重置连接。

6.修改了故障防护,我们来修改队列长度,默认为1000,如果队列长度超过1000,新请求将收到503服务器不可用的响应。所以我们必要的时候要增大请求队列,我们可以设置成1500或2000.

7.设置完应用程序池后,接下来设置IIS输出缓存,默认没有设置,设置之后,网站缓存会保存下来,用户请求的时候不会重新加载。

8.进入输出缓存界面,添加缓存规则,文件扩展名根据自己需求设置,可以使.html,可以是.aspx等等。勾选用户模式缓存与内核模式缓存,点击确定。

9.设置完IIS输出缓存后,接下来设置HTTP响应标头,点击网站右侧的HTTP响应标头。

10.进入HTTP响应标头设置页面后,然后点击右侧的“设置常用标头”。

11.进入“设置常用HTTP响应头”界面,勾选使WEB内容过期,选择“之后”,时间要多设置一些,可设置成了一年365天,点击确定,设置完成。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
半日闲给自己
2015-06-02 · TA获得超过249个赞
知道小有建树答主
回答量:546
采纳率:0%
帮助的人:173万
展开全部
一般情况下是网站的服务器问题:
造成503错误主要有以下几种情况,
1、网络管理员可能关闭应用程序池以执行维护。
2、当请求到达时应用程序池队列已满。
3、应用程序池标识没有使用预定义账户:网络服务,而自己配置了标识,但是配置的这个用户不属于IIS_WPG组,
4、应用程序池启用了CPU监视,并且设置了CPU利用率超过一定百分比关闭应用程序池,而开发人员写的服务端页面(.asp,.aspx)执行效率不高,会引起CPU的长时间占用,最终达到设置的百分比,从而引起应用程序池关闭   
5、应用程序池的性能选项卡的请求队列限制所填的数值太小,默认为1000。   
6、web.config的system.web/httpRuntime节点的appRequestQueueLimit属性设置的值太低。

以上情况的话,让网站商家协助额下解决;

也不排除黑客的攻击,我们来促销主机就碰到这种情况
1、数千个IP,同时向服务器的apache发出请求,然后 立即断开,让apache处于等待状态,致使apache线程全部被填满,致使服务器死机

2、程序占用的php线程过多,有的程序没有进行好优化处理,一个点击即可产生数个,甚至数十个php线程。这样的话,几个点击就可以把该时段的64个php线程全部填满了。因此出现503错误;

解决这个问题的步骤:

1.验证是否已为虚拟服务器配置了应用程序池。默认的应用程序池是MSSharePointPortalAppPool。   
请按照下列步骤来确定虚拟服务器正在使用的应用程序池。   
a.单击“开始”,指向“管理工具”,然后单击“Internet信息服务(IIS)管理器”。   b.展开“ServerName”,展开“Web站点”,右键单击虚拟服务器,然后单击“属性”。   
c.单击“主目录”选项卡。为虚拟服务器配置的应用程序池列在“应用程序池”框中。   
d.单击“确定”。   
2、验证应用程序池帐户使用的密码是否正确。IIS不会自动轮询ActiveDirectory目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文“症状”部分所描述的错误信息。   3、验证应用程序池帐户是服务器上的IIS_WPG组和STS_WPG组的成员。   
4、重新启动IIS以回收应用程序池。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生活小当家橙子
高粉答主

2020-12-29 · 说的都是干货,快来关注
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式