您好,登錄后才能下訂單哦!
云服務(wù)器出現(xiàn)502錯(cuò)誤不要慌,當(dāng)云服務(wù)器上面的網(wǎng)站出現(xiàn)502錯(cuò)誤時(shí),說明服務(wù)器作為網(wǎng)關(guān)或代理,從上游服務(wù)器收到無效響應(yīng)。本文宵云網(wǎng)絡(luò)就對502錯(cuò)誤進(jìn)行分析并提出解決方案
出現(xiàn)502錯(cuò)誤的原因分析
將請求提交給網(wǎng)關(guān),如php-fpm執(zhí)行,但是由于某些原因沒有執(zhí)行完畢導(dǎo)致php-fpm進(jìn)程終止執(zhí)行。那么出現(xiàn)問題的地方便與網(wǎng)關(guān)服務(wù)如php-fpm的配置有關(guān)。max_children最大子進(jìn)程數(shù),在高并發(fā)請求下,達(dá)到php-fpm最大響應(yīng)數(shù),后續(xù)的請求就會(huì)出現(xiàn)502錯(cuò)誤??梢酝ㄟ^netstat命令來查看當(dāng)前連接數(shù)。
request_terminate_timeout 設(shè)置單個(gè)請求的超時(shí)終止時(shí)間。還應(yīng)該注意到php.ini中的max_execution_time參數(shù)。當(dāng)請求終止時(shí),也會(huì)出現(xiàn)502錯(cuò)誤的。
當(dāng)積累了大量的php請求,此時(shí)重啟php-fpm釋放資源,但沒有幾分鐘的時(shí)間,又再次出現(xiàn)502錯(cuò)誤,為什么呢?此時(shí)我們還應(yīng)考慮是否與云主機(jī)數(shù)據(jù)庫有關(guān),查看下數(shù)據(jù)庫進(jìn)程是否有大量的locked進(jìn)程,數(shù)據(jù)庫死鎖導(dǎo)致超時(shí),前端終止了繼續(xù)請求,但是SQL語句還在等待釋放鎖,這時(shí)就要重啟數(shù)據(jù)庫服務(wù)了或kill掉死鎖SQL進(jìn)程了。
出現(xiàn)502錯(cuò)誤的解決方案
當(dāng)網(wǎng)站出現(xiàn)502問題時(shí),可以先通過以下兩個(gè)步驟來解決:
1、查看當(dāng)前的PHP FastCGI進(jìn)程數(shù)是否夠用netstat -anpo | grep “php-cgi”| wc -l 如果實(shí)際使用的“FastCGI進(jìn)程數(shù)”接近預(yù)設(shè)的“FastCGI進(jìn)程數(shù)”,那么,說明“FastCGI進(jìn)程數(shù)”不夠用,需要增大。
2、部分PHP程序的執(zhí)行時(shí)間超過了Nginx的等待時(shí)間,可以適當(dāng)增加nginx.conf配置文件中FastCGI的timeout時(shí)間。
如果php.ini中memory_limit設(shè)偏低,修改php.ini的memory_limit為64M,重啟nginx,說明PRH內(nèi)存不足。
3、max-children和max-requests 一臺(tái)服務(wù)器上運(yùn)行著nginx php(fpm) xcache,訪問量日均300W pv左右經(jīng)常會(huì)出現(xiàn)這樣的情況:php頁面打開很慢,cpu使用率突然降至很低,系統(tǒng)負(fù)載突然升至很高,查看網(wǎng)卡的流量,也會(huì)發(fā)現(xiàn)突然降到了很低。一般這種情況只持續(xù)數(shù)秒鐘便可恢復(fù)。
云服務(wù)器上網(wǎng)站出現(xiàn)502錯(cuò)誤的原因有很多,不同的原因其解決方法也會(huì)不同,當(dāng)出現(xiàn)502錯(cuò)誤時(shí),我們首要的任務(wù)便是找出問題所在,知道問題出現(xiàn)在哪,解決問題也就方便得多。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。