网盾安全 - 服务器租用、高防IP、云WAf等

值得信赖的互联网安全服务商,最新动态、新的产品促销活动分享,网络安全动态!

网盾教你解决Service Unavailable问题

发布时间:2020-12-18 17:34:03      来源: 网盾      作者: 夶夏

Service Unavailable是一种系统的警告提示。一个网站的程序占资源太多或者发生太多的错误,此应用程序池提供服务的进程中也会出现一系列错误,系统日志会提示:“应用程序池 'xxx' 被自动禁用,或者提示:应用程序池 'xxx' 超过了其作业限制设置。这时,访问这个网站就会提示:Service Unavailable。通常会在30秒内自动恢复,或者尝试多刷新几次即可正常访问。

资源不足是Service Unavailable的出现主要原因,如IIS、CPU或内存等,极少数情况下会因asp 和.net程序错误导致出现。

一个程序池可以多个站共用,即这些站点公用这块资源,这个程序池可以简单理解为资源库,500M物理内存(服务器为8G内存)是支撑条件。

其中一个站用完所有资源,程序池会自动停止,所有使用这个程序池的站就会出现“Service Unavailable”的提示,直到该程序池被重新启动。

不出现垃圾程序,不遇到攻击,不会有CPU急速上升甚至内存大量使用的情况,500M内存完全足够使用;其实这是引起“Service Unavailable”出现的主要原因。分析各种检测数据,大部分是CPU占用在90%-100%之间出现的。如果您是使用武汉网盾科技的虚拟主机出现“Service Unavailable”的提示,刷新几下又可以访问。

出现这种情况是由于您的网站超过了iis限制造成的由于2003的操作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示"Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多。

比如同样是100人在线的论坛,雷傲论坛所占的资源就是PW论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。不过WINDOWS2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。

如果你的网站当前访问人数过多,超过了系统的iis连接数限制,也会出现Service Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:Service Unavailable) ,这时,可以建议您联系我们升级虚拟主机,以达到访问需求。其实在实际生活中有些客户在给虚拟主机子目录绑定时分配的资源过少,也会出现这样的情况。

但值得注意的时候,分配子目录资源时一定要合理分配,不要分配过少,比如500M虚拟主机是500个IIS链接数,如果为子目录分配10%的资源,那么这个子目录就只有50%的链接数目了。如果一旦访问超过,就会出现“service unavailable”了。具体请参考:https://www.netsos.cn

使用ACCESS数据库的网站,选用windows 2003 IIS 6系统的用户,突然有一个网站打不开了提示: Service Unavailable 。倘若这个网站没有限制IIS连接数,就会马上影响到了别的网站,不到一会,其他的网站也全变成了 Service Unavailable 。为什么会有这种情况呢?

分析知道是MS的问题。用服务器医生的文件医生修复,查看修复结果时会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。 通过文件医生修复后,系统才会恢复正常。

综合一下,要解决此问题,按照下列步骤操作:

原因一:网站超过了IIS连接数

解决办法一:增加IIS连接数

备注一:Windows 2003的操作系统在提示IIS过多时并非像win2000系统提示“链接人数过多”,而是提示"Service Unavailable"

原因二:网站超过了IIS资源限制

解决办法二:增加网站的资源

备注二:Winodws2003中网站占用了超过IIS对该网站系统资源的限制后直接提示"Service Unavailable"

原因三:网站的程序发生太多的错误

解决办法三:修改程序错误

备注三:Winodws2003中网站错误太多,就会造成该网站所在的应用程序池出错,这个时候可以在Windows2003的日志中看到“应用程序池 'xxx' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误”,这个时候网站就会直接显示"Service Unavailable"

以上三个原因造成的"Service Unavailable",一般现象是出现"Service Unavailable"后,多刷新几次,就可以打开。

原因四:ACCESS引擎错误

解决办法四:重启IIS

备注四:有一些文件造成了ACCESS数据库出现“灾难性故障”及“未将对象引用设置到对象的实例”的错误   原因四造成的"Service Unavailable",现象是所有该服务器上的使用Access数据库的网站都出现错误,不能访问。

以上四个原因是常见的造成了"Service Unavailable"的原因,其他还有一些问题造成了该问题,基本只要IIS重启一下就可以的。

原因五:ISAPI筛选器没有正常加载

解决办法五:ISAPI筛选器没有加载成功的话会造成任意网站一访问就出现Service unavailable,这个时候需要根据加载失败的原因解决,或者删除该ISAPI筛选器

原因六:网站遭遇类似CC的攻击。

解决办法六:出现这种情况也有可能是他人非法攻击,导致网站流量过大,这时就需要考虑使用防火墙来解决问题。并且再遭遇CC攻击时,服务器80端口的连接数非常多,并且CPU占用很高。

原因七:80端口被其它程序占用了
该端口具有隐蔽性,如果仅仅在IIS上所有网站都Service Unavailable,并且查看一个简单的html页都发“应用程序池 'xxx' 被自动禁用”错误,那么在控制台中执行命令"netstat -a -n -o",看看占用80端口的是哪个程序。如果您在服务器上安装了迅雷,请尤其注意这点,迅雷在默认情况下是要和IIS抢80端口的。

 

 

加入网盾,开启安全防护

网盾安全 高防服务器、游戏盾、DDoS高防IP、云WAF等多款安全产品

立即体验