上周客服突然说网站打不开,我一试,果真打不开,在后台查看,并没有问题,但是用域名和IP都不能访问了.这几天又出现了此情况.然后问了群里的朋友,推荐我用poolmon工具来查看,但服务器重启后,一切正常,用poolmon暂时是查不出问题来了.
然后在网上搜索了下,详细给出了查看错误的方法:
一,首先telnet ip 80 ,看看80WEB端口是否打开,如果有黑屏返回,那就说明已经通了。如果没有,那就是不通.
二,在C:\WINDOWS\system32\LogFiles\HTTPERR,看看错误日志.日志如下:
2010-01-19 07:18:14 - - - - - - - - - 2_Connections_Refused -
2010-01-19 07:19:49 - - - - - - - - - 1_Connections_Refused -
...
2010-01-19 14:01:01 59.60.192.191 1564 61.131.4.157 80 - - - - - Timer_ConnectionIdle -
....................
2010-01-11 08:37:44 220.162.149.134 2249 61.131.4.157 80 - - - - - Timer_MinBytesPerSecond -
2010-01-11 08:37:44 220.162.149.134 2252 61.131.4.157 80 - - - - - Timer_MinBytesPerSecond -
2010-01-11 08:37:44 220.162.149.134 2243 61.131.4.157 80 - - - - - Timer_MinBytesPerSecond -
(以上红色注释意义,参见:http://support.microsoft.com/kb/820729/)
根据这个来看,有可能是IIS死掉了,所以没有反应了,那么是什么原因造成IIS死掉了呢? 网友给出的解释是:如果非分页池的内存一直增加的话,那么就会造成IIS内存不足20M,所以停止了http.exe服务,那么如何解决呢?
以下是51CTO的study_web给出的解决方案:
对于Timer_MinBytesPerSecond 错误或 Timer_ConnectionIdle 错误,网上解释与iis设置有关,可以通过如下解决:
1) 从 IIS 管理器右键单击 Internet Information Server (IIS) 管理器级别根目录上并转到属性。 选中要启用直接编辑元数据库框。 单击确定。
2) 在记事本中打开 C:\Windows\system32\inetsrv\MetaBase.xml 文件,搜索有关 " MinFileBytesPerSec "。 将用于 MinFileBytesPerSec 设置从 240 更改为 0。 执行其他搜索, 该时间将 600 " ConnectionTimeout "。 保存更改并退出。
3) 重新启动 IISAdmin 服务以更改生效。
对于Number_Connections_refused 错误,可以通过如下解决:
要变通解决此问题,请将该 EnableAggressiveMemoryUsage 注册表项添加到以下注册表子项中:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
然后,将 EnableAggressiveMemoryUsage 注册表项设置为 1。
要这样做,请按下列步骤操作:(最好备份注册表)
- 单击 开始 ,单击 运行 ,在 打开 的框中键入 regedit ,然后单击 确定 。
- 单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
- 在 编辑 菜单上指向 新建 ,然后单击 DWORD 值 。
- 键入 EnableAggressiveMemoryUsage ,然后按 Enter 键。
- 在 编辑 菜单中上, 单击 修改 。
- 在在 数值数据 框中键入 1 ,然后单击 确定 。
- 在 文件 菜单中上, 单击 退出 以退出注册表编辑器。
- 重新启动 HTTP 服务。 要这样做,请按下列步骤操作:
- 单击 开始 ,单击 运行 ,在 打开 的框中键入 cmd ,然后单击 确定 。
- 在命令提示符键入 net stop http / y ,然后按 ENTER 键。
- 在命令提示符键入 iisreset /restart ,然后按 ENTER 键。
至于是否成功,得观察几天!!