windows2003 iis6.0站点打不开,找不到服务器或 DNS错误。
问题:iis装好后,运行了一段时间;一个月后有一天打开网站,却显示该页无法访问,telnet端口开始可以,但后来执行telnet时,连接后会立刻断开。最后发现IIS的日志:D:\WINDOWS\system32\LogFiles\HTTPERR\httperr1.log这个文件中有很多错误:
2010-07-02 01:13:17 – - – - – - – - – 2_Connections_Refused-
2010-07-02 01:13:22 – - – - – - – - – 16_Connections_Refused-
2010-07-02 01:13:17 – - – - – - – - – 2_Connections_Refused -
2010-07-02 01:13:22 – - – - – - – - – 16_Connections_Refused-
原因:查资料后,发现默认情况下,如果可用的非分页缓冲池内存不足 20MB,IIS 6.0 中的HTTP 服务停止接受连接,所以当时重启IIS也没有用,只能重启服务器释放了,微软官方说可以在注册表里把EnableAggressiveMemoryUs
解决:http://support.microsoft.com/kb/934878/zh-cn
要变通解决此问题,请将该 EnableAggressiveMemoryUs
要这样做,请按下列步骤操作:(最好备份注册表)
- 单击 开始,单击 运行 ,在 打开 的框中键入 regedit,然后单击 确定 。
- 单击下面的注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
- 在 编辑 菜单上指向 新建 ,然后单击 DWORD 值。
- 键入 EnableAggressiveMemoryUs
age,然后按 Enter 键。 - 在 编辑 菜单中上, 单击 修改 。
- 在在 数值数据 框中键入 1 ,然后单击 确定。
- 在 文件 菜单中上, 单击 退出 以退出注册表编辑器。
- 重新启动 HTTP 服务。 要这样做,请按下列步骤操作:
- 单击 开始 ,单击运行 ,在 打开 的框中键入 cmd ,然后单击确定 。
- 在命令提示符键入 net stop http /y ,然后按 ENTER 键。
- 在命令提示符键入 iisreset/restart ,然后按 ENTER 键。
============================================================================================
对于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 服务以更改生效。