人人IT網

人人IT網

當前位置: 主頁 > IT新聞 > 互聯網 >

502 bad gateway是什麼意思?502 bad gateway怎麼解决!

時間:2013-04-01 12:37來源:Internet 作者:Internet 點擊:
您可以嘗試清除瀏覽器緩存 訪問一下你的FTP看是否可以登陆   產生原因   服務器(不一定是Web服務器)是作为網關或代理,以滿足客戶的要求(如Web瀏覽器或我們的CheckUpDown機

您可以嘗試清除瀏覽器緩存 訪問一下你的FTP看是否可以登陆

  產生原因
  服務器(不一定是Web服務器)是作为網關或代理,以滿足客戶的要求(如Web瀏覽器或我們的CheckUpDown機器人)來訪問所請求的URL 。此服務器收到無效響應從上遊服務器訪問履行它的要求。 
  固定502錯誤
  一般這個問題是由於不良的IP之間的沟通後端計算機,包括您可能嘗試訪問的在Web服務器上的網站。在分析這個問題,您應該清除瀏覽器緩存完全。 
  如果您上網時在您嘗試訪問的所有網站上都看這個問題,有兩種可能
  1 )你的ISP了重大設備故障/過載或
  2 )有問題的內部互聯網連接如您的防火牆無法正常運作。
  在第一種情況下,只有您的ISP可以幫助您。在第二種情況下,你需要解决什麼,那就是阻止你進入互聯網。 
  如果您只有在部分嘗試訪問的網站中出現此問題,那就很可能是一個問題,即這些網站之一,其設備故障或超載。聯系網站的管理員。

 關於502 bad getway報錯的解决辦法 通俗解釋一下  
 1.什麼是502 bad getway 報錯  
  簡單來說 502 是報錯類型代碼 bad getway 錯誤的網關  
 2.產生錯誤的原因   
  連接超時 我們向服務器器發送請求 由於服務器當前鏈接太多,導致服務器方面無法给於正常的響應,產生此類報錯  
 3.解救的辦法  
  最好的解决辦法當然還是在服務器上做 對大家來說不太可能  
  那麼我們有什麼解救的方法呢?  
  說白了 很簡單  
  就是——刷新(不是一般的刷新哦)  
 刷新的原理 :很多人可能不知道 刷新也是有兩種的。  
  所謂刷新其實就是從服務器下載數據到本地的硬盤瀏覽器,  
  再從本地硬盤種讀取數據到瀏覽器顯示给我們看。  
 ①基本刷新:就是點擊刷新或者使用F5快捷鍵  
  基本刷新只是從本地的硬盤重新拿取數據到瀏覽器,並不重新向服務器發出請求。  
  大部分用戶很多時候都是這样刷新的,遇到502報錯的就沒有任何效果。  
 ②從服務器刷新: 如果你重新直接點擊你想要瀏覽的網頁鏈接,你會發現剛才還是顯示502 bad getway的頁面現在又可以正常瀏覽了!  
  明白道理了吧?當你點擊你想要瀏覽的網頁鏈接的時候,是會從服務器重新下載數據的。  
 解决方法就是從服務器上刷新:快捷鍵 ctrl+F5,這样就是重新向服務器發送請求了。  
  如果服務器能正常给予你響應你就可以看到頁面了。  

使用Nginx作为Web服務器的時候,你或多或少都會遇到Nginx 502 bad gateway的錯誤,造成這種錯誤的原因有很多。下面我們來一一解析。  
 

一、查看php-cgi是否在運行 

有時候由於網站流量過大或者其它原因,導致php-cgi直接down掉,所以我們得看php-cgi是否在運行。執行如下命令: 

ps -A | grep php5-cgi 

如果沒有運行,手動启動 

/etc/init.d/php_cgi start 

如果你發現php-cgi不明原因有時候down掉,可以使用下面的腳本臨時解决這個問題,添加到cronjob。 

if ps aux | grep ‘php5-cgi’ | grep -v grep  > /dev/null ; then          echo "PHP-cgi is runnning !"      else          echo "PHP-cgi is down. Starting over…"          /etc/init.d/php-fcgi start  fi 二、fastcgi進程數不夠用、php執行時間長的原因 

  fastcgi進程數可以修改php-fpm.conf中的max_children的數值,高峰時php-cgi耗掉的最大內存为20M,請根據自己的內存情況計算了。 
   限制php執行時間可以在php-fpm.conf中的request_terminate_timeout設置,這是为了防止php程序的bug導致php-cgi假死。 

三、FastCGI執行時間過長 

根據實際情況調高以下参數值 

fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; 

除了上面列出的三種情況,當然還會有其它原因,但上面三種情況是最常見的



  最近幾天發現網通線路的服務器出現流量不穩定的情況,具體的表現是,流量時而高,時而低,在流量低的時候發現系統的負載很小,幾乎为0,但是過一會,負載又高上去,流量也上去,很是奇怪,查找了2天沒有找到原因,後來看到一邊文章,介紹了解决nginx出現502的錯誤現象,按照這個方法進行嘗試,最終還是找到了問題的原因。

  解决步驟如下:

  1、查看當前的PHP FastCGI進程數是否夠用

  netstat -anpo | grep "php-cgi" | wc -l

  如果實際使用的"FastCGI進程數"接近預設的"FastCGI進程數",那麼,說明"FastCGI進程數"不夠用,需要增大。

  2、部分PHP程序的執行時間超過了Nginx的等待時間,可以适當增加nginx.conf配置文件中FastCGI的timeout時間,例如:

  在做第一步的時候,系統當前的PHP FastCGI進程數明顯超過了預設值的64這個數值,在電信的服務器上查看當前的PHP FastCGI進程數沒有高於64這個數值,而且網通線路的活動連接明顯高於電信的活動連接,准備到晚上的時候看看情況,結果到晚上22:30的時候,查看系統當前的PHP FastCGI進程數明顯小於64預設值,當前的活動連接也比原來低很多,由此可以說明出現nginx不穩定的情況是由於服務器訪問負載過大引起的,就是加上第二步的錯誤也不頂作用。

  總結,php-cgi進程數不夠用、php執行時間長、或者是php-cgi進程死掉,都會出現502錯誤
From:CSDN
頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
發表評論
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
評價:
表情:
驗證碼:點擊我更換圖片
欄目列表
推薦內容