首頁 >運維 >Nginx >502 bad gateway nginx什麼意思

502 bad gateway nginx什麼意思

藏色散人
藏色散人原創
2019-08-28 10:46:3965152瀏覽

502 bad gateway nginx什麼意思

   一、502 bad gateway nginx什麼意思?

    通俗的來講,502 bad gateway代表您所訪問的網站出了問題,因為502 Bad Gateway 伺服器作為網關或代理時,是為了完成訪問下一個伺服器,但該伺服器返回了非法的應答。也許是暫時的,也許是的。建議大家等一下再從新訪問試試。 

    二、502 bad gateway產生原因?

    502 bad gateway產生的大多數原因都是由於連接逾時,我們向伺服器發送請求,由於伺服器目前的連結數太多,導致伺服器無法給予正常的回應,才會產生502 bad gateway報錯。

    一般來說,伺服器只是作為網關或代理,以滿足客戶的要求(​​如網頁瀏覽器)來存取我們所要求的URL。伺服器收到無效的回應從上游伺服器訪問請行它的要求。這並不表示上游伺服器已關閉(無回應網關/代理),而是上游伺服器和網關/代理不同意協定交換資料。由於互聯網協定是固定的,所以,這意味著一個或兩個機器已經不正確或沒有完全編程。

    三、固定502錯誤產生原因?

    一般這個問題是由於不良的IP之間的溝通後端計算機,可能包括在Web伺服器上的網站您嘗試訪問。在分析這個問題,您應該清除瀏覽器快取再存取。

    如果您上網時在您嘗試造訪的所有網站上都看這個問題,有兩種可能

    ①您的ISP重大設備故障/過載

    ②有問題的內部網路連線如您的防火牆無法正常運作。

    在種情況下,只有您的ISP可以幫助您。在第二種情況下,你需要解決什麼,那就是阻止你進入網路。 

    如果您只有在部分嘗試造訪的網站中出現此問題,那麼很可能是一個問題,即這些網站之一,其裝置故障或超載。聯絡你網站的管理員。

    四、502 bad gateway解救法?

    1、刷新

    說白了很簡單是-刷新(不是一般的刷新哦)

    這裡所講的刷新主要是指從伺服器下載資料到本機的硬碟瀏覽器,再從本機硬碟讀取資料到瀏覽器顯示給我們看。通常有兩種刷新模式:

    ①基本刷新:是點選刷新或使用F5快捷鍵

    基本刷新只是從本地的硬碟重新拿取資料到瀏覽器,並且不會重新向伺服器發出請求。大部分用戶很多時候都是這樣刷新的,遇到502錯誤的沒有任何效果。

    ②從伺服器刷新:如果你重新直接點擊你想要瀏覽的網頁鏈接,你會發現剛剛還顯示的"502 bad gateway"錯誤訊息頁面,重新點擊鏈接後又可以正常瀏覽。

    解決方法:是從伺服器上刷新:快捷鍵 ctrl F5,這樣是重新傳送請求了,如果伺服器能正常給予你回應你可以看到頁面了。

    2、DNS 緩衝問題

    這個情況主要是你造訪了國外一些被國家防火牆封鎖的網站如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是否在執行錯誤

    ①查看php-cgi是否在執行錯誤

    ①檢查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-cgigi耗掉的記憶體為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;
###  ###  六、解決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错误。

更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!

以上是502 bad gateway nginx什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn