一、什麼是502 bad gateway?
通俗的來講,502 bad gateway代表您所訪問的網站出了問題,因為502 Bad Gateway 伺服器作為閘道器或者代理時,是為了完成訪問下一個伺服器,但該伺服器返回了非法的應答。也許是暫時的,也許是的。建議大家稍等一下再從新訪問試試。
二、502 bad gateway產生原因?
502 bad gateway產生的大多數原因都是由於連線超時,我們向伺服器傳送請求,由於伺服器當前的連結數太多,導致伺服器無法給於正常的響應,才會產生502 bad gateway報錯。
一般來說,伺服器只是作為閘道器或代理,以滿足客戶的要求(如Web瀏覽器)來訪問我們所請求的URL。伺服器收到無效的響應從上游伺服器訪問請行它的要求。這並不意味著上游伺服器已關閉(無響應閘道器/代理),而是上游伺服器和閘道器/代理不同意協議交換資料。由於網際網路協議是固定的,所以,這意味著一個或兩個機器已經不正確或沒有完全程式設計。
三、固定502錯誤產生原因?
一般這個問題是由於不良的IP之間的溝通後端計算機,可能包括在Web伺服器上的網站您嘗試訪問。在分析這個問題,您應該清除瀏覽器快取再訪問。
如果您上網時在您嘗試訪問的所有網站上都看這個問題,有兩種可能
①你的ISP重大裝置故障/過載
②有問題的內部網際網路連線如您的防火牆無法正常運作。
在種情況下,只有您的ISP可以幫助您。在第二種情況下,你需要解決什麼,那是阻止你進入網際網路。
如果您只有在部分嘗試訪問的網站中出現此問題,那很可能是一個問題,即這些網站之一,其裝置故障或超載。聯絡你網站的管理員。
四、502 bad gateway解救方法?
1、重新整理
說白了很簡單是——重新整理(不是一般的重新整理哦)
這裡所講的重新整理主要是指從伺服器下載資料到本地的硬碟瀏覽器,再從本地硬碟中讀取資料到瀏覽器顯示給我們看。通常有兩種重新整理模式:
基本重新整理只是從本地的硬碟重新拿取資料到瀏覽器,並不重新向伺服器發出請求。大部分使用者很多時候都是這樣重新整理的,遇到502報錯的沒有任何效果。
解決方法:是從伺服器上重新整理:快捷鍵 ctrl+F5,這樣是重新向伺服器傳送請求了,如果伺服器能正常給予你響應你可以看到頁面了。
2、DNS 緩衝問題
這種情況主要是你在沒有用vpn的情況下,訪問了國外一些被國家防火牆遮蔽的網站如YouTube,facebook之類。
解決辦法:這種情況通常在幾分鐘之內可以訪問了。也可以嘗試 在cmd視窗執行 ipconfig /flushdns 來重新整理DNS快取
3、dns 被劫持
解決辦法:更換DNS,推薦114.114.114.114,還有阿里的公共DNS 如:223.5.5.5、223.6.6.6
五、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_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;
六、解決nginx出現502的錯誤
①檢視當前的PHP FastCGI程序數是否夠用
netstat -anpo | grep "php-cgi" | wc -l
如果實際使用的"FastCGI程序數"接近預設的"FastCGI程序數",那麼,說明"FastCGI程序數"不夠用,需要增大。
②部分PHP程式的執行時間超過了Nginx的等待時間,可以適當增加nginx.conf配置檔案中FastCGI的timeout時間
例如,系統當前的PHP FastCGI程序數明顯超過了預設值的64這個數值,在電信的伺服器上檢視當前的PHP FastCGI程序數沒有高於64這個數值,而且網通線路的活動連線明顯高於電信的活動連線,由此可以說明出現nginx不穩定的情況是由於伺服器訪問負載過大引起的。
總結:php-cgi程序數不夠用、php執行時間長、或者是php-cgi程序死掉,都會出現502錯誤
一、什麼是502 bad gateway?
通俗的來講,502 bad gateway代表您所訪問的網站出了問題,因為502 Bad Gateway 伺服器作為閘道器或者代理時,是為了完成訪問下一個伺服器,但該伺服器返回了非法的應答。也許是暫時的,也許是的。建議大家稍等一下再從新訪問試試。
二、502 bad gateway產生原因?
502 bad gateway產生的大多數原因都是由於連線超時,我們向伺服器傳送請求,由於伺服器當前的連結數太多,導致伺服器無法給於正常的響應,才會產生502 bad gateway報錯。
一般來說,伺服器只是作為閘道器或代理,以滿足客戶的要求(如Web瀏覽器)來訪問我們所請求的URL。伺服器收到無效的響應從上游伺服器訪問請行它的要求。這並不意味著上游伺服器已關閉(無響應閘道器/代理),而是上游伺服器和閘道器/代理不同意協議交換資料。由於網際網路協議是固定的,所以,這意味著一個或兩個機器已經不正確或沒有完全程式設計。
三、固定502錯誤產生原因?
一般這個問題是由於不良的IP之間的溝通後端計算機,可能包括在Web伺服器上的網站您嘗試訪問。在分析這個問題,您應該清除瀏覽器快取再訪問。
如果您上網時在您嘗試訪問的所有網站上都看這個問題,有兩種可能
①你的ISP重大裝置故障/過載
②有問題的內部網際網路連線如您的防火牆無法正常運作。
在種情況下,只有您的ISP可以幫助您。在第二種情況下,你需要解決什麼,那是阻止你進入網際網路。
如果您只有在部分嘗試訪問的網站中出現此問題,那很可能是一個問題,即這些網站之一,其裝置故障或超載。聯絡你網站的管理員。
四、502 bad gateway解救方法?
1、重新整理
說白了很簡單是——重新整理(不是一般的重新整理哦)
這裡所講的重新整理主要是指從伺服器下載資料到本地的硬碟瀏覽器,再從本地硬碟中讀取資料到瀏覽器顯示給我們看。通常有兩種重新整理模式:
基本重新整理只是從本地的硬碟重新拿取資料到瀏覽器,並不重新向伺服器發出請求。大部分使用者很多時候都是這樣重新整理的,遇到502報錯的沒有任何效果。
解決方法:是從伺服器上重新整理:快捷鍵 ctrl+F5,這樣是重新向伺服器傳送請求了,如果伺服器能正常給予你響應你可以看到頁面了。
2、DNS 緩衝問題
這種情況主要是你在沒有用vpn的情況下,訪問了國外一些被國家防火牆遮蔽的網站如YouTube,facebook之類。
解決辦法:這種情況通常在幾分鐘之內可以訪問了。也可以嘗試 在cmd視窗執行 ipconfig /flushdns 來重新整理DNS快取
3、dns 被劫持
解決辦法:更換DNS,推薦114.114.114.114,還有阿里的公共DNS 如:223.5.5.5、223.6.6.6
五、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_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;
六、解決nginx出現502的錯誤
①檢視當前的PHP FastCGI程序數是否夠用
netstat -anpo | grep "php-cgi" | wc -l
如果實際使用的"FastCGI程序數"接近預設的"FastCGI程序數",那麼,說明"FastCGI程序數"不夠用,需要增大。
②部分PHP程式的執行時間超過了Nginx的等待時間,可以適當增加nginx.conf配置檔案中FastCGI的timeout時間
例如,系統當前的PHP FastCGI程序數明顯超過了預設值的64這個數值,在電信的伺服器上檢視當前的PHP FastCGI程序數沒有高於64這個數值,而且網通線路的活動連線明顯高於電信的活動連線,由此可以說明出現nginx不穩定的情況是由於伺服器訪問負載過大引起的。
總結:php-cgi程序數不夠用、php執行時間長、或者是php-cgi程序死掉,都會出現502錯誤