我們的網(wǎng)站經(jīng)常會出現(xiàn)各種錯誤代碼,比如404、503等等,我們原來發(fā)過一篇名為網(wǎng)站404錯誤怎么辦的文章,說明遇到404錯誤應該怎么處理,那么網(wǎng)站出現(xiàn)503錯誤怎么辦呢?
基本定義
503是一種HTTP狀態(tài)碼。英文名503 Service Unavailable與404(404 Service Unavailable)是同屬一種網(wǎng)頁狀態(tài)出錯碼。兩者的區(qū)別是:前者是服務器出錯的一種返回狀態(tài),后者是網(wǎng)頁程序沒有相關結果后返回的一種狀態(tài),需要優(yōu)化網(wǎng)站的時候通常須要制作404出錯頁以便網(wǎng)站整體優(yōu)化。原因有可能是ISAPI篩選器沒有正常加載導致。
產(chǎn)生原因
1.網(wǎng)絡管理員可能關閉應用程序池以執(zhí)行維護。
2.當請求到達時應用程序池隊列已滿。
3.應用程序池標識沒有使用預定義賬戶:網(wǎng)絡服務,而自己配置了標識,但是配置的這個用戶不屬于IIS_WPG組。
4.應用程序池啟用了CPU監(jiān)視,并且設置了CPU利用率超過一定百分比關閉應用程序池,而開發(fā)人員寫的服務端頁面(.asp,.aspx)執(zhí)行效率不高,會引起CPU的長時間占用,最終達到設置的百分比,從而引起應用程序池關閉
5.應用程序池的性能選項卡的請求隊列限制所填的數(shù)值太小,默認為1000。
6.web.config的system.web/HTTPRuntime節(jié)點的appRequestQueueLimit屬性設置的值太低。
7.該站點正在被攻擊。對于最新型的攻擊,其實是ddos的一種派生,原理在于找數(shù)千個IP,同時向服務器的apache發(fā)出請求,然后 立即斷開,讓apache處于等待狀態(tài),致使apache線程全部被填滿,致使服務器死機。因此,為了保證大多數(shù)客戶的利益,我們給每個 空間,作出了每19秒64個php請求的限制。注意,是php請求,一般的圖片請求和html請求不包括在內(nèi)。
8.該程序占用的php線程過多,有的程序沒有進行好優(yōu)化處理,一個點擊即可產(chǎn)生數(shù)個,甚至數(shù)十個php線程。這樣的話,幾個點擊就可以把該時段的64個php線程全部填滿了。因此出現(xiàn)503錯誤。建議優(yōu)化一下程序,盡量少用require(“請求”之意)等語句
解決方法
1.驗證是否已為虛擬服務器配置了應用程序池。默認的應用程序池是MSSharePointPortalAppPool。請按照下列步驟來確定虛擬服務器正在使用的應用程序池。
a.單擊“開始”,指向“管理工具”,然后單擊“Internet信息服務(IIS)管理器”。
b.展開“ServerName”,展開“Web站點”,右鍵單擊虛擬服務器,然后單擊“屬性”。
c.單擊“主目錄”選項卡。為虛擬服務器配置的應用程序池列在“應用程序池”框中。
d.單擊“確定”。
2、驗證應用程序池帳戶使用的密碼是否正確。IIS不會自動輪詢ActiveDirectory目錄服務中的密碼更改。如果應用程序池帳戶是一個域帳戶,其密碼已過期,則在為此帳戶重新指定一個新密碼后,您可能會收到本文“癥狀”部分所描述的錯誤信息。
3、驗證應用程序池帳戶是服務器上的IIS_WPG組和STS_WPG組的成員。
4、重新啟動IIS以回收應用程序池。
轉(zhuǎn)載請保留原文地址: http://www.saitell.cn/show-420.html