给服务器装了IIS后,运行发现Service Unavailable,网上搜索了很多相关问题,看了不下几十个网页,大都是说:
应用程序池没有运行。
应用程序池帐户使用的密码不正确。
应用程序池帐户不是服务器上的 IIS_WPG 和 STS_WPG 这两个组的公共成员。
或者是连接过多。
事实上这些都不是我存在的问题,网上查了半天得不到要领。没有办法,采用别人的办法,惹不起我躲了:
打开IIS管理器--网站--右键属性--服务--“以IIS5.0隔离模式运行www服务”勾上。
网站正常运行,站点显示无错。
失败经验不足,如果有路过知道的朋友帮帮忙给我一个建议。
另外分区是NTFS
2003+IIS6.0的Service Unavailable
建议用一下步骤重新安装。
a) 把整个IIS卸载
b) 把 %windir%\system32\inetsrv 删除掉
把%windir%\iisX.log删除掉。 X 是(w2k-iis5.log,xp-iis6.log)
也把 \inetpub\ 目录删除掉
(可以在safe-mode里删除)
c) 重装IIS,打上最新补丁
我的一点经验可以跟博主分享一下:
1、给每个不同的应用(可以是站点或者虚拟目录)建立独立的应用程序池
2、当某个应用出现Service Unavailable的问题是,手动执行一下对应的应用程序池回收。
3、如果是asp.net,那么配置一下,使出错时转向指定的页面,在该页面留下一个按钮,当点击按钮时,执行GC.collect()
4、还有一个方法不推荐,但却是无奈之下的方法。一般出现Service Unavailable的问题是因为iis对于超出其承受能力的request处理不过来造成的,你可以先测试一下你的iis最大可以承受1s内多少个request,比如结果是100个,那么你可以在global.aspx当中编写代码,用一个循环计数器,记录1s之内的请求个数,当临近极限的时候,强制执行GC.collect()
|