已接入CDN的網(wǎng)站遷移至Windows實例后訪問該站點提示連接被拒絕的解決方法
問題描述
已接入CDN的網(wǎng)站遷移到另外一臺Windows實例之后,該服務(wù)器上的所有站點均無法正常訪問,訪問時提示連接被拒絕。經(jīng)過檢查,發(fā)現(xiàn)了下列幾點特征:
?該服務(wù)器中的443端口正常開啟,并且該服務(wù)器的負(fù)載和帶寬沒有明顯變化。
?該服務(wù)器使用寶塔(BT)面板搭建網(wǎng)站。
說明:BT面板默認(rèn)采用Apache提供Web服務(wù)。
?Apache的error_log中存在下列錯誤信息。
Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting
問題原因
通過Apache的error_log可以判斷,該服務(wù)器沒有線程來處理請求。詳情請參見更多信息。
解決方案
阿里云提醒您:
?如果您對實例或數(shù)據(jù)有修改、變更等風(fēng)險操作,務(wù)必注意實例的容災(zāi)、容錯能力,確保數(shù)據(jù)安全。
?如果您對實例(包括但不限于ECS、RDS)等進(jìn)行配置與數(shù)據(jù)修改,建議提前創(chuàng)建快照或開啟RDS日志備份等功能。
?如果您在阿里云平臺授權(quán)或者提交過登錄賬號、密碼等安全信息,建議您及時修改。
請參考下列步驟進(jìn)行排查。
1.登錄該服務(wù)器。
2.檢查Apacheconf/httpd.conf配置文件中的ThreadsPerChild參數(shù)值是否為64。
說明:Windows系統(tǒng)中Apache的ThreadsPerChild參數(shù)默認(rèn)值為64。
3.如果ThreadsPerChild參數(shù)值為64,請參考下列內(nèi)容,修改該參數(shù)值為512。
ThreadsPerChild 512
MaxRequestsPerChild 0
注意:此處的512并非推薦值,請根據(jù)服務(wù)器的負(fù)載和訪問情況進(jìn)行調(diào)整。更多有關(guān)該參數(shù)的信息,請參見Apache MPM通用指令。
4.保存并重啟Apache服務(wù)。
5.檢查網(wǎng)站是否可以正常訪問。
更多信息
Windows系統(tǒng)中Apache程序使用mpm_winnt模塊,該模塊默認(rèn)的線程數(shù)為64。當(dāng)Web請求數(shù)超過該線程數(shù)時,Apache將無法正常提供服務(wù)。詳細(xì)內(nèi)容請參見Apache MPM模塊。
適用于
?云服務(wù)器ECS
?輕量應(yīng)用服務(wù)器
