无法加载站点/服务的所有 ISAPI 筛选器,因此启动中止——Service Unavailable解决方法合集...

 

无名老卒刚一上班,就有好多人反映说网站打不开,都是出现Service Unavailable的错误,原以为一下子就可以解决问题,现在越看越惊,w3wp.exe在任务管理器里面都没有,有些应用程序池也启动不了。开始使用iisreset,还是不行,重启服务器,还是老样子……

   可想而知,这台服务器上面的所有的网站都打不开,真是急死人了。当时一急,都想不到是什么原因,想不到什么方法来解决这个问题,毕竟上面有100多个站点,如果别人一发现打不开,就有口难言了……

   打开事件查看器,发现很多错误的提示,无法加载站点/服务的所有 ISAPI 筛选器,因此启动中止。还有一些就是加载不了.net2.0某一个DLL,这一看,估计是.net2.0出问题了,之前也是有问题的,但是为了查备案,就安装了一个.net2.0……但是现在在删除.net2.0的时候就会出错了。虽然在添加/删除程序里面把.net2.0程序删除了,但是系统里面还是有.net2.0。这就导致了删除.net2.0之后,这台服务器上面的网站还是打不开。

   还是出现这个错误:“HTTP 筛选器 DLL C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_filter.dll 加载失败。”和“无法加载站点/服务的所有 ISAPI 筛选器。因此启动中止。”。平静地想了一下,我把IIS里面的WEB服务扩展给禁用了。很奇怪,我删除了.net2.0,在WEB服务扩展竟然还有.net2.0。一打开网站,还是提示“Service Unavailable”。突然想到ISAPI 筛选器,哦,我点“网站——属性——ISAPI 筛选器,把.net2.0的映射去掉”就可以打开网站了。

   终于松了一口气。。。

无法加载站点/服务的所有 ISAPI 筛选器,因此启动中止——Service Unavailable解决方法合集... 

筛选器路径:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll 

下面转自网上出现Service Unavailable错误的解决方法:

为什么会Service Unavailable ?
一、 如果出现“Service Unavailable”的提示,刷新几下又可以访问。
出现这种情况是由于您的网站超过了iis限制造成的,由于2003的操作系统在提示IIS过多时并非像2000系统提示“链接人数过多”,而是提示"Service Unavailable",出现这种情况是由于网站超过了系统资源限制造成的,主要是程序占用资源太多。比如同样是100人在线的论坛,雷傲论坛所占的资源就是PW论坛所占资源的10倍以上;另外,一些死循环程序,或者不优化的程序都会占用太多的系统资源,而系统资源明显是有限的。不过WINDOWS2003的操作系统,各网站之间是以独立进程运行的,不会相互影响。
如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池 'xxx' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误, 或者提示:应用程序池 'xxx' 超过了其作业限制设置。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。 有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。
另外,如果你的网站当前访问人数过多,超过了系统的iis连接数限制,也会出现Service Unavailable的提示(win2k主机下出现连接过多就会提示:连接过多,请稍后再试;而win2003的主机刚直接提示:Service Unavailable)

二、没有限制IIS连接,还是遭遇Service Unavailable

一般使用windows 2003 IIS 6的用户可能这个问题一直正常的系统,突然有一个网站打不开了 
提示: Service Unavailable 但这个网站并没有限制IIS连接数。然后马上影响到了别的网站,不到一会,其他的网站也全变成了 Service Unavailable 
这是什么原因呢? 
我们分析后可以知道,还是MS的老问题。ACCESS引擎当了。用服务器医生的文件医生修复,查看修复结果时会发现一些文件引起ACCESS引擎“灾难性故障”及“未将对象引用设置到对象的实例”的错误。 通过文件医生修复后,系统才会恢复正常。

三、浏览一个 Windows SharePoint Services Web 站点时,提示:Service Unavailable

如果 Microsoft Internet 信息服务 (IIS) 6.0 中没有正确地配置用于虚拟服务器的应用程序池,就可能会发生此问题。此问题可能会在存在下列一种或多种情况时发生:a.应用程序池没有运行。 b.应用程序池帐户使用的密码不正确。c.应用程序池帐户不是服务器上的 IIS_WPG 和STS_WPG 这两个组的公共成员。 
解决方案
要解决此问题,按照下列步骤操作: 1.验证是否已为虚拟服务器配置了应用程序池。默认的应用程序池是 MSSharePointPortalAppPool。 
请按照下列步骤来确定虚拟服务器正在使用的应用程序池。 
a. 单击“开始”,指向“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”。 
b. 展开“ServerName”,展开“Web 站点”,右键单击虚拟服务器,然后单击“属性”。 
c. 单击“主目录”选项卡。 为虚拟服务器配置的应用程序池列在“应用程序池”框中。 
d. 单击“确定”。

2.验证应用程序池帐户使用的密码是否正确。IIS 不会自动轮询 Active Directory 目录服务中的密码更改。如果应用程序池帐户是一个域帐户,其密码已过期,则在为此帐户重新指定一个新密码后,您可能会收到本文“症状”部分所描述的错误信息。

按照下列步骤来验证应用程序池帐户所用的密码是否正确: 
a. 在 Internet 信息服务 (IIS) 管理器中,展开“应用程序池”。 
b. 右键单击为虚拟服务器配置的应用程序池(例如,右键单击MSSharePointPortalAppPool”),然后单击“属性”。 
c. 单击“标识”选项卡。 
d. 在“密码”框中,键入列在“用户名”框中的应用程序池帐户所用的密码,然后单击“确定”。 
e. 在“确认密码”对话框中,再次键入密码,然后单击“确定”。
3.验证应用程序池帐户是服务器上的 IIS_WPG 组和 STS_WPG 组的成员。

根据您的具体情况选用下列方法之一。 a. 在成员服务器上安装了 SharePoint Portal Server 的情况下: 1.单击“开始”,指向“管理工具”,然后单击“计算机管理”。 
2.展开“本地用户和组”,然后展开“用户”。 
3.右键单击虚拟服务器的应用程序池使用的帐户,然后单击“属性”。 
4.单击“成员属于”选项卡。

验证 IIS_WPG 和 STS_WPG 是否都出现在“成员属于”列表中。如果其中之一没有列出或者两者均未列出,请根据具体情况将 IIS_WPG 组、STS_WPG 组或者这两个组添加到列表中。

b. 在域控制器上安装了 SharePoint Portal Server 的情况下: 1.启动“Active Directory 用户和计算机”。 
2.展开“用户”。 
3.右键单击虚拟服务器的应用程序池使用的帐户,然后单击“属性”。 
4.单击“成员属于”选项卡。

验证 IIS_WPG 和 STS_WPG 都出现在“成员属于”列表中。如果其中之一没有列出或者两者均未列出,请根据具体情况将 IIS_WPG 组、STS_WPG 组或者这两个组添加到列表中。
4.重新启动 IIS 以回收应用程序池: a. 在 Internet 信息服务 (IIS) 管理器中,右键单击“ServerName”,指向“所有任务”,然后单击“重新启动 IIS”。 
b. 单击“在 ServerName 上重新启动 Internet 信息服务”,然后单击“确定”。以上从网上搜集可能遇到的问题,我发现的问题:四。可能是安装了某些软件,把相关服务去掉便可问题:一直正常,安装了一个防盗链系统并卸载,重启机器,出现Service Unavailable 事件查看器有:无法加载站点/服务的所有 ISAPI 筛选器。因此启动中止。应用程序池在iis启动后是关闭状态,但可以手动启动,不过问题依然。解决:重启iis,新建网站,应用程序池。结果:依旧最终解决:打开iis-->查看“总网站”的属性--->ISAPI 筛选器-->把有向下的红箭头的项删除掉-->重启iis-->OK

###############################################

 

筛选器aspnet_filter.dll 加载失败的解决方法

[ 2011-05-21 16:31 | 作者: c ]
字体:  |  | 
 如果重新安装iis,那么重新注册下asp.net

C:\WINdows\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i 
或是
C:\WINdows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i 

具体表现是:
1.所有应用程序池自动关闭,重启IIS,重装IIS问题依旧。
2.事件查看器里有相关“应用程序”日志记录。
3.IIS里的“网站”文件夹里的ISAPI筛选里可以看到"ASP.NET_2.0.50727.0"前有一个红色的向下的箭头
4.如果删除第三条里的那个筛选,再运行iisreset重启IIS,会发现网站都正常了,(除了那些用这个2.0的站点吧)
5.C盘加users权限,不用删除那个筛选,重启IIS,成功(这样太不安全了)
6.出现这问题时有人还出现以下问题:
还有2-3个错误,不知道是哪个权限的问题
SideBySide
Resolve Partial Assembly 为 Microsoft.VC80.CRT 失败。 参考错误消息: 拒绝访问。

SideBySide
Generate Activation Context 为 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll 失败。 参考错误消息: 拒绝访问。

事件类型: 错误
事件来源: W3SVC-WP
事件种类: 无
事件 ID: 2214
日期: 2008-7-13
事件: 1:34:09
用户: N/A
计算机: WWW-YONGFA365-COM
描述:
HTTP 筛选器 DLL C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll 加载失败。数据是错误。

最终解决方法是:
C:\WINDOWS\WinSxS
加一下 
NETWORK SERVICE 权限

做相关安全设置时一般用IIS_WPG,这个用户是属于NETWORK SERVICE组的,这样设置应该权限更小,但程序可以正常运行,所以

最佳解决方法是:

在 C:\WINDOWS\WinSxS 文件夹上加上 IIS_WPG 用户,权限默认,OK

转载于:https://www.cnblogs.com/yorian/archive/2012/06/15/2550793.html