win服務器解說出現Service Unavailable的原因
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
綜述Service Unavailable的出現一般是資源不足,如IIS、CPU或內存等,極少數情況下會因asp.net程序錯誤導致出現。
所有服務器操作系統均為windows2003,有個很關鍵的東西就是“應用程序池”
一般情況下為多個站共用一個程序池,這個程序池可以簡單理解為資源庫,即這些站點共用這塊資源;內存限制為500M物理內存(服務器為8G內存)。
如果這個資源被其中一個站用完,則程序池就會停止,所有使用這個程序池的站就會出現“Service Unavailable”的提示,直到該程序池被重新啟動。
大多數情況下,500M內存完全足夠使用;如果出現垃圾程序或遇到攻擊,則可能出現CPU急速上升或內存大量使用,這是大部分“Service Unavailable”出現的原因。從目前我們監測的情況看,大部分是CPU占用在90%-100%之間出現的。
解決方法
一、 如果出現“Service Unavailable”的提示,刷新幾下又可以訪問。
出現這種情況是由于您的網站超過了iis限制造成的由于2003的操作系統在提示IIS過多時并非像2000系統提示“鏈接人數過多”,而是提示"Service Unavailable",出現這種情況是由于網站超過了系統資源限制造成的,主要是程序占用資源太多。
比如同樣是100人在線的論壇,雷傲論壇所占的資源就是PW論壇所占資源的10倍以上;另外,一些死循環程序,或者不優化的程序都會占用太多的系統資源,而系統資源明顯是有限的。不過WINDOWS2003的操作系統,各網站之間是以獨立進程運行的,不會相互影響。
另外,如果你的網站當前訪問人數過多,超過了系統的iis連接數限制,也會出現Service Unavailable的提示(win2k主機下出現連接過多就會提示:連接過多,請稍后再試;而win2003的主機剛直接提示:Service Unavailable)
二、沒有限制IIS連接,還是遭遇Service Unavailable
多見于使用ACCESS數據庫的網站,一般使用windows 2003 IIS 6的用戶可能這個問題一直正常的系統,突然有一個網站打不開了提示: Service Unavailable 但這個網站并沒有限制IIS連接數。然后馬上影響到了別的網站,不到一會,其他的網站也全變成了 Service Unavailable 這是什么原因呢?
我們分析后可以知道,還是MS的老問題。ACCESS引擎當了。用服務器醫生的文件醫生修復,查看修復結果時會發現一些文件引起ACCESS引擎“災難性故障”及“未將對象引用設置到對象的實例”的錯誤。 通過文件醫生修復后,系統才會恢復正常。
三、瀏覽一個 Windows SharePoint Services Web 站點時,提示:Service Unavailable
Microsoft Internet 信息服務 (IIS) 6.0 中沒有正確地配置用于虛擬服務器的應用程序池,就可能會發生此問題。
解決方案:
要解決此問題,按照下列步驟操作:
1、驗證是否已為虛擬服務器配置了應用程序池。默認的應用程序池是 MSSharePointPortalAppPool。
請按照下列步驟來確定虛擬服務器正在使用的應用程序池。
a). 單擊“開始”,指向“管理工具”,然后單擊“Internet 信息服務 (IIS) 管理器”。
b). 展開“ServerName”,展開“Web 站點”,右鍵單擊虛擬服務器,然后單擊“屬性”。
c). 單擊“主目錄”選項卡。 為虛擬服務器配置的應用程序池列在“應用程序池”框中。
d). 單擊“確定”。
2、驗證應用程序池帳戶使用的密碼是否正確。IIS 不會自動輪詢 Active Directory 目錄服務中的密碼更改。如果應用程序池帳戶是一個域帳戶,其密碼已過期,則在為此帳戶重新指定一個新密碼后,您可能會收到本文“癥狀”部分所描述的錯誤信息。
3、 驗證應用程序池帳戶是服務器上的 IIS_WPG 組和 STS_WPG 組的成員。
4.、重新啟動 IIS 以回收應用程序池
四、沒有正確加載ISAPI篩選器
ISAPI篩選器沒有加載成功的話會造成任意網站一訪問就出現Service unavailable,這個時候需要根據加載失敗的原因解決,或者刪除該ISAPI篩選器
整理資料:
原因一:網站超過了IIS連接數
解決辦法一:增加IIS連接數
備注一:Windows 2003的操作系統在提示IIS過多時并非像win2000系統提示“鏈接人數過多”,而是提示"Service Unavailable"
原因二:網站超過了IIS資源限制
解決辦法二:增加網站的資源
備注二:Winodws2003中網站占用了超過IIS對該網站系統資源的限制后直接提示"Service Unavailable"
原因三:網站的程序發生太多的錯誤
解決辦法三:修改程序錯誤
備注三:Winodws2003中網站錯誤太多,就會造成該網站所在的應用程序池出錯,這個時候可以在Windows2003的日志中看到“應用程序池 'xxx' 被自動禁用,原因是為此應用程序池提供服務的進程中出現一系列錯誤”,這個時候網站就會直接顯示"Service Unavailable"
以上三個原因造成的"Service Unavailable",一般現象是出現"Service Unavailable"后,多刷新幾次,就可以打開。
原因四:ACCESS引擎錯誤
解決辦法四:重啟IIS
備注四:有一些文件造成了ACCESS數據庫出現“災難性故障”及“未將對象引用設置到對象的實例”的錯誤
原因四造成的"Service Unavailable",現象是所有該服務器上的使用Access數據庫的網站都出現錯誤,不能訪問。
以上四個原因是常見的造成了"Service Unavailable"的原因,其他還有一些問題造成了該問題,基本只要IIS重啟一下就可以的。
Service Unavailable的第五種原因就是今天的原因了:ISAPI篩選器沒有正常加載
出現這種情況也有可能是他人非法攻擊,導致網站流量過大·
如超出CPU 也會出現這個提示的.
原因六:80端口被其它程序占用了。這是個非常隱蔽的原因,如果僅僅在IIS上所有網站都Service Unavailable,并且查看一個簡單的html頁都發“應用程序池 'xxx' 被自動禁用”錯誤,那么在控制臺中執行命令"netstat -a -n -o",看看占用80端口的是哪個程序。如果您安裝了迅雷,請尤其注意這點,迅雷在默認情況下是要和IIS搶80端口的。
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!