一、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中文網其他相關文章!