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