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