服务器iis假死的原因是什么呢

服务器iis假死的原因是什么呢,第1张

自从入职众生网络以来,发现不少客户都会遇到服务器IIS出现假死的情况。为了能更好的为客户服务,我查找了一些解决IIS假死的办法仅供大家参考。

打开IIS 你就会看到应用程序池,默认只有一个应用程序池,查看应用程序池的属性,会发现他的回收时间,默认多达,1740分钟,就是说,需要在1740分钟后才回收此应用程序池,如果在这个时间内,达到请求的最高限制,那么就会出现ASP假死的情况,这个就是大型网站出现假死的情况,反而,小型网站确不会出现这样的情况,因为他请求少,流量少,还没达到限制数量。当然要看你的服务器上网站数目而定。

单个网站解决方法:

把应用程序池回收时间缩短到300-600分钟,其间回收过程中,需要占用一点CPU资源,没办法,为了稳定性,再把回收时间设为凌晨5点。

多网站解决方法:

假设一台服务器目前拉了70个网站左右,那么可以新建六个应用程序池,把每个池回收时间缩小到300分钟,然后再分配每个池10个网站左右(这个分配是要求你的网站访问量所定)如果某个网站,访问量大,就单独给他一个程序池,但是这样做的后果就是需要大内存,一个池现在占用120M内存左右,反正内存大,没关系。那么多网站如何分配应用程序池,打开IIS--查看你要分配的网站属性,,查看主目录--在下面 你就会看到应用程序池了,分配一个就行了。

大家在使用iis6时如果装了动网论坛肯定有出现过iis6假死现像就是asp网页打开慢但是iis却是正常的静态网页打开速度一样这时候我一直是重启的方法查了官方的资料结果没有据官方资料说win2003很快就要打这个补丁了是iis6对access驱动支持不理像也算是一个bug吧由于服务器虚拟主机多而且大多支持asp如果一旦假死就无法运行在多方面的资料查找下找到了一个比较简单的方法具体测试是通过了iis6自带数据应用程序池现在就利用他来解决假死

首先把bbs设一个单独的目录然后点击应用程序池新建应用程序池输入应用程序池id

然后把bbs的虚拟目录下面的就用程序池选择刚才新建的应用程序池

然后再回到刚才设好的应用程序池点击属性把回收工作进程数(分钟)及回收工作进程数还有在下列时间回收时间进程勾上然后在下列时间回收程序池里左边添加选择一个时间一般来说网站到凌晨3点的时候基本人都很少了这时回收一下bbs的进程数就可以解决了iis假死的现像

当然还可以配置其他信息比如说iis6的用户名 我们可以打开计处机管理然后打开计算机用户管理添加一个用户设置好后在应用程序池里面标识把添加的用户放上去用用户来测试回收的进程当然还有其他配置其实很简单只要你好好看一下就能明白意思

对于部分人来说这种方法可能不太方便所以可以用一个工具来回收应用程序池这样方便而且快捷个人用户当然不需要这种工具公司用户的话服务器压力挺大所以都用工具来解决一些问题所括iis的备分及虚拟主机ip的统一修改及端口访问的ip记录用批处理是一个很简单又方便的方法所以把一台服务器做的安全并不是哪么容易的事特别是iis经常去官方网站搜索资料是一个好习惯还有就是经常性的访问日志及注册表的用户还有加载运行的程序及服务也是一个好方法所以要学会如何遇到问题如何处理问题!!!!

原因建议通过日志分析了解,解决方法还是很简单的:
解决方法一 重新注册Net 20:
解决方法二 新建应用程序池:
新建应用程序池的步骤
1 单击“开始”,指向“程序”,然后单击“控制面板”。
2 双击“管理工具”,然后双击“InteNet 信息服务 (IIS)”。
3 右键单击“应用程序池”,指向“新建”,然后单击“应用程序池”。
4 在“应用程序池 ID”文本框中键入 AppPool1。
5 单击“确定”。
将应用程序分配到应用程序池
1 单击“开始”,指向“程序”,然后单击“控制面板”。
2 双击“管理工具”,然后双击“InteNet 信息服务 (IIS)”。
3 双击“Web 站点”。
4 双击“默认 Web 站点”。
5 右键单击“DebugApp1”,然后单击“属性”。
6 在“主目录”标签中的“应用程序池”列表框中选择“AppPool1”,然后单击“确定”。
解决方法三,修改网站目录所在文件夹的访问权限:
找到当前网站目录->右键->属性->安全->添加->高级->立即查找->选择 Users 用户 ->确定->确定
建议服务器问题可以浏览一些美国主机侦探的信息,只有了解了服务器的功能,才能更好的去应用它。

cpu运行不稳定说明你的内存占用过造成的,解决的方法有:
先在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
1、设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭。根据w3wp取得是那个一个应用程序池:在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid;通俗的说就是先寻找到那个程序最占内存,在处理掉。
2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。再设置当内存占用超过多少(如500M),就自动回收内存。
3、可以借助工具如服务器安全狗等的软件

一、 如果出现“Service Unavailable”的提示,刷新几下又可以访问。
出现这种情况是由于您的网站超过了iis限制造成的由于2003的 *** 作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示"Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多。
比如同样是100人在线的论坛,雷傲论坛所占的资源就是PW论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。不过WINDOWS2003的 *** 作系统,各网站之间是以独立进程运行的,不会相互影响。
如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池 'xxx' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误,或者提示:应用程序池 'xxx' 超过了其作业限制设置。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。
另外,如果你的网站当前访问人数过多,超过了系统的iis连接数限制,也会出现Service Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:Service Unavailable)
二、没有限制IIS连接,还是遭遇Service Unavailable
多见于使用ACCESS数据库的网站,一般使用windows 2003 IIS 6的用户可能这个问题一直正常的系统,突然有一个网站打不开了提示: Service Unavailable 但这个网站并没有限制IIS连接数。然后马上影响到了别的网站,不到一会,其他的网站也全变成了 Service Unavailable 这是什么原因呢?
我们分析后可以知道,还是MS的老问题。ACCESS引擎当了。用服务器医生的文件医生修复,查看修复结果时会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。 通过文件医生修复后,系统才会恢复正常。
三、浏览一个 Windows SharePoint Services Web 站点时,提示:Service Unavailable
Microsoft Internet 信息服务 (IIS) 60 中没有正确地配置用于虚拟服务器的应用程序池,就可能会发生此问题。
解决方案:
要解决此问题,按照下列步骤 *** 作:
1、验证是否已为虚拟服务器配置了应用程序池。默认的应用程序池是 MSSharePointPortalAppPool。
请按照下列步骤来确定虚拟服务器正在使用的应用程序池。
a) 单击“开始”,指向“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”。
b) 展开“ServerName”,展开“Web 站点”,右键单击虚拟服务器,然后单击“属性”。
c) 单击“主目录”选项卡。 为虚拟服务器配置的应用程序池列在“应用程序池”框中。
d) 单击“确定”。
2、验证应用程序池帐户使用的密码是否正确。IIS 不会自动轮询 Active Directory 目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文“症状”部分所描述的错误信息。
3、 验证应用程序池帐户是服务器上的 IIS_WPG 组和 STS_WPG 组的成员。
4、重新启动 IIS 以回收应用程序池
四、没有正确加载ISAPI筛选器
ISAPI筛选器没有加载成功的话会造成任意网站一访问就出现Service unavailable,这个时候需要根据加载失败的原因解决,或者删除该ISAPI筛选器

楼主应该补充说明下自己的系统环境。
比如 *** 作系统版本,iis版本,出现错误之前的 *** 作,错误现场等等,这样对解决问题的帮助会更大些
另建议楼主查看一下系统的应用程序日志,把出现错误的那几项也贴出来
从你反应的信息来看,估计应该是网站超过了系统资源限制或者是IIS连接数,一般情况下30秒中后自动回收IIS进程后才恢复正常
应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置
默认情况下,服务器上的应用程序和内存资源,将会达到 60 个应用程序池上限,当然也可以修改注册表,来增加这个上限值,方法如下:
打开系统注册表,找到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC 分支,
然后在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1,保存关闭,然后重启IIS
如果上述无效,你可以试试
打开 IIS 管理控制台,单击加号展开本地计算机。
单击加号展开“应用程序池”文件夹。
右击'DefaultAppPool',然后单击“属性”。出现应用程序池的属性对话框。
适当增加最大虚拟内存值和最大工作线程数,至于具体值是多少得根据你的系统配置和内存大小来定
当然,可以在运行状况一栏,加大ping工作线程的秒数间隔
楼主应该补充说明下自己的系统环境。
比如 *** 作系统版本,iis版本,出现错误之前的 *** 作,错误现场等等,这样对解决问题的帮助会更大些
另建议楼主查看一下系统的应用程序日志,把出现错误的那几项也贴出来
从你反应的信息来看,估计应该是网站超过了系统资源限制或者是IIS连接数,一般情况下30秒中后自动回收IIS进程后才恢复正常
应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置
默认情况下,服务器上的应用程序和内存资源,将会达到 60 个应用程序池上限,当然也可以修改注册表,来增加这个上限值,方法如下:
打开系统注册表,找到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC 分支,
然后在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1,保存关闭,然后重启IIS
如果上述无效,你可以试试
打开 IIS 管理控制台,单击加号展开本地计算机。
单击加号展开“应用程序池”文件夹。
右击'DefaultAppPool',然后单击“属性”。出现应用程序池的属性对话框。
适当增加最大虚拟内存值和最大工作线程数,至于具体值是多少得根据你的系统配置和内存大小来定
当然,可以在运行状况一栏,加大ping工作线程的秒数间隔

为应用程序池 'DefaultAppPool' 提供服务的进程意外终止。进程 ID 是 '3056'。进程退出代码是 '0xffffffff'。
有关更多信息,请参阅在 >

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13287904.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-08
下一篇 2023-07-08

发表评论

登录后才能评论

评论列表(0条)

保存