無名老卒剛一上班,就有好多人反映說網站打不開,都是出現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的映射去掉”就可以打開網站了。
終於松了一口氣。。。
篩選器路徑: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 加載失敗的解決方法
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