php 502 bad gateway 解決方法

2021-08-19 19:21:10 字數 1203 閱讀 7322

首先上一段為關於fast_cgi的配置**

location ~* \.php$
乍看是沒什麼毛病畢竟網上千篇一律的都是這樣的配置,接下我使用netstat -tlnp | grep 9000 篩選了一下監聽9000的程式然而結果卻出乎意料,並沒有監聽9000的程式,結果如下

(not

all processes could be identified, non-owned process info

到這裡幾乎已經很大機率是出現在配置上了,查詢了一下nginx 相關的配置資料發現

nginx和php-fpm的程序間通訊有兩種方式,一種是tcp,一種是unix domain socket.

其中tcp是ip加埠,可以跨伺服器.而unix domain socket不經過網路,只能用於nginx跟php-fpm都在同一伺服器的場景.用哪種取決於你的php-fpm配置:

方式1:

php-fpm.conf: listen = 127.0.0.1:9000

nginx.conf: fastcgi_pass 127.0.0.1:9000;

方式2:

php-fpm.conf: listen = /tmp/php-fpm.sock

nginx.conf: fastcgi_pass unix:/tmp/php-fpm.sock;

其中php-fpm.sock是乙個檔案,由php-fpm生成,型別是srw-rw—-.

unix domain socket:

nginx <=> socket <=> php-fpm

tcp socket(本地回環):

nginx <=> socket <=> tcp/ip <=> socket <=> php-fpm

tcp socket(nginx和php-fpm位於不同伺服器):

nginx <=> socket <=> tcp/ip <=> 物理層 <=> 路由器 <=> 物理層 <=> tcp/ip <=> socket <=> php-fpm

而此次出現問題的原因在於,我使用的是unix domain socket而nginx配置的確實tcp方式,既然知道癥結所在,修改起來也就方便很多了修改**如下

location ~* \.php$
修改完配置之後,重啟伺服器,問題果然就解決了.

nginx下php頻繁卡死502

試用nginx php fastcgi 做web伺服器,執行了幾個月的時間,煩惱的是經常碰到nginx 502 bad gateway 這個問題。參考了很多修改辦法,這個502的問題一直存在,今天打算重灌php fastcgi到php的安裝目錄裡一看,發現php的日誌檔案已經有幾十m的大小,開啟一看...

php程式死迴圈導致502報錯

請求訪問返回502錯誤提示,嘗試去除可疑 段,發現程式正常,可疑 段如下圖箭頭指向 當時腦熱的以為是本地php5.5.18版本過低,不支援陣列語法 實際php 5.4 開始支援的 於是公升級為php7.0.5版本,然而發現依舊502。最後仔細觀察nginx錯誤提示,nginx慢日誌如下圖所示,發現到...

PHP的502報錯 tianyi 666的部落格

相信自己,加油!nginx php 出現502 bad gateway,一般這都不是nginx的問題,而是由於 fastcgi或者php的問題導致的 伺服器出現 502 的原因是連線超時 我們向伺服器傳送請求 由於伺服器當前鏈結太多,導致伺服器方面無法給於正常的響應 產生此類報錯 因此如果你伺服器併...