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

