1. 程式人生 > >Nginx 502 BAD GateWay錯誤解決方…

Nginx 502 BAD GateWay錯誤解決方…

    Nginx 502 BAD GateWay錯誤解決方法     今天,我的VPS提示Nginx 502 Bad Gateway錯誤了,很煩。我什麼事情都沒做呀,有點想不通,怎麼這次就出現了502 Bad Gateway?鬱悶啊!在搜尋了一下,發現一篇文庫文件,終於找到了不少相關的答案,希望修改之後不會再出現這個錯誤了。現在寫出來,給大家一個參考。 首先我ping網站能通,DNS解析也是正常的,反問html網頁是正常的,但是訪問php就有問題,說明問題出在PHP上。 我用的是LNMP一鍵安裝包官方的: (我直接重啟lnmp就臨時解決了,但這不是根本辦法) 第一種原因:目前lnmp一鍵安裝包比較多的問題就是502 Bad Gateway,大部分情況下原因是在安裝php前,指令碼中某些lib包可能沒有安裝上,造成php沒有編譯安裝成功或者php-fpm 沒有執行,這條很重要
檢視php-fpm有沒有執行: ps -A | grep php-cgi [email protected]:/etc/init.d# ps -A | grep php-cgi  6037 ?        00:00:00 php-cgi  6039 ?        00:00:04 php-cgi  6040 ?        00:00:00 php-cgi  6041 ?        00:00:00 php-cgi  6042 ?        00:00:00 php-cgi  6043 ?        00:00:04 php-cgi  6044 ?        00:00:04 php-cgi  6045 ?        00:00:00 php-cgi 如果沒有看到php-cgi 程序則啟動即可,統計程序總數用:ps -A | grep php-cgi | wc -l
啟動方法:/etc/init.d# /etc/init.d/php-fpm start 第二種原因: 在php.ini裡,eaccelerator配置項一定要放在Zend Optimizer配置之前,否則也可能引起502 Bad Gateway 第三種原因: 在安裝好使用過程中出現502問題,一般是因為預設php-cgi程序是5個,可能因為phpcgi程序不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加。 第四種原因: php執行超時,修改/usr/local/php/etc/php.ini 將max_execution_time 改為300 第五種原因: 磁碟空間不足,如mysql日誌佔用大量空間 我用df -hl 沒有異常,才11% 第六種原因: 檢視php-cgi程序是否在執行 也有網友給出了另外的解決辦法: Nginx 502 Bad Gateway的含義是請求的PHP-CGI已經執行,但是由於某種原因(一般是讀取資源的問題)沒有執行完畢而導致PHP-CGI程序終止,一般來說Nginx 502 Bad Gateway和php-fpm.conf的設定有關。 php-fpm.conf有兩個至關重要的引數,一個是max_children,另一個是request_terminate_timeout,但是這個值不是通用的,而是需要自己計算的。 在安裝好使用過程中出現502問題,一般是因為預設php-cgi程序是5個,可能因為phpcgi程序不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加。 計算的方式如下: 如果你的伺服器效能足夠好,且寬頻資源足夠充足,PHP指令碼沒有系迴圈或BUG的話你可以直接將 request_terminate_timeout設定成0s。0s的含義是讓PHP-CGI一直執行下去而沒有時間限制。而如果你做不到這一點,也就 是說你的PHP-CGI可能出現某個BUG,或者你的寬頻不夠充足或者其他的原因導致你的PHP-CGI假死那麼就建議你給 request_terminate_timeout賦一個值,這個值可以根據伺服器的效能進行設定。一般來說效能越好你可以設定越高,20分鐘-30分 鍾都可以。 而max_children這個值又是怎麼計算出來的呢?這個值原則上是越大越好,php-cgi的程序多了就會處理的很快,排隊的請求就會很少。 設定max_children也需要根據伺服器的效能進行設定,一般來說一臺伺服器正常情況下每一個php-cgi所耗費的記憶體在20M左右。 按照官方的答案,排查了相關的可能,並結合了網友的答案,得出了下面的解決辦法。 1、檢視php fastcgi的程序數(max_children值) 程式碼:netstat -anpo | grep “php-cgi” | wc -l 5(假如顯示5) 我伺服器檢視居然是144,還嚇人。我的網站訪問量並不高,太奇怪了。
2、檢視當前程序 程式碼:top 觀察fastcgi程序數,假如使用的程序數等於或高於5個,說明需要增加(根據你機器實際狀況而定) 3、調整/usr/local/php/etc/php-fpm.conf 的相關設定  <value name="max_children">10</value> <value name=”request_terminate_timeout”>60s</value> max_children最多10個程序,按照每個程序20MB記憶體,最多200MB。 request_terminate_timeout執行的時間為60秒,也就是1分鐘。 我的伺服器按照最後這條調整後重啟lnmp就正常了.    5月19日用Wordpress後臺時又出現"no input file specified"問題了,但是網站訪問沒問題,後然我才發現是WP後臺網站路徑不對,比如說網址/edit.php  真確的路徑應該是/wp-admin/edit.php  不知道後臺為什麼會出錯,後然手工輸入正確的URL又一直工作正常了。後然發現原來是登陸時wp-admin後面沒跟"/",導致路徑錯誤。     注意API站點,蜘蛛抓取會耗費大量資源!!!

相關推薦

Nginx 502 BAD GateWay錯誤解決

    Nginx 502 BAD GateWay錯誤解決方法     今天,我的VPS提示Nginx 502 Bad Gateway錯誤了,很煩。我什麼事情都沒做呀,有點想不通,怎麼這次就出現了502 Bad Gateway?鬱悶啊!在搜尋了一下,發現一篇文庫文件,終於找到了不少相關的答案,希望修改

nginx 502 Bad Gateway 錯誤解決辦法

一些執行在Nginx上的網站有時候會出現“502 Bad Gateway”錯誤,有些時候甚至頻繁的出現。以下是小編蒐集整理的一些Nginx 502錯誤的排查方法,供參考:   Nginx 502錯誤的原因比較多,是因為在代理模式下後端伺服器出現問題引起的。這些錯誤一般都不是

Nginx 502 Bad Gateway 錯誤的原因及解決方法

nginx 錯誤 connect() to unix:/var/run/php5-fpm.sock failed Nginx 502 Bad Gateway 的錯誤已經遇到好幾次了,今天處理以下,在這裡記錄下解決方法: 首先查詢nginx的錯誤日誌檔案, 目錄為/var/log/nginx/

nginx 下 thinkphp 502 bad Gateway + "LNMP一鍵安裝包的Nginx 502 Bad Gateway錯誤可能原因及解決方法"

參考: http://lnmp.org/faq/lnmp-Nginx-502-Bad-Gateway.html 如果是非上述原因: 請找到nginx.conf中 找到這一行 include enable-php.conf;  然後開啟 include enable-ph

Nginx 502 Bad Gateway錯誤解決辦法

request_terminate_timeout執行的時間為60秒,也就是1分鐘。 ################################################# 網站執行環境是Nginx +php fastcgi模式的。這幾天執行一直不穩定,總是出錯,報502錯誤。 今天跟以前的同事請

LNMP一鍵安裝包的Nginx 502 Bad Gateway錯誤可能原因及解決方法

第一種原因:安裝lnmp一鍵安裝包時php沒安裝成功而出現502 Bad Gateway,從0.9開始只要安裝成功或失敗都就會有提示。沒安裝成功一般原因是在安裝php前,指令碼中某些lib包可能沒有安裝上,造成php沒有編譯安裝成功。可以看一下是否存在/usr/local/

nginx 502 Bad Gateway 錯誤問題收集

Nginx php-fpm fast-cgi 502 Bad Gateway錯誤是FastCGI有問題,造成NGINX 502錯誤的可能性比較多。將網上找到的一些和502 Bad Gateway錯誤有關的問題和排查方法列一下,先從FastCGI配置入手: 1.FastCG

Nginx 顯示502 Bad Gateway錯誤

二維碼 div 名稱 ear 配置 star 成功 art edi 今天系統發布到測試環境,有一個用戶登錄後顯示502 Bad Gateway錯誤,其他的用戶都登錄成功。但是在開發機鏈接測試數據庫,使用該賬號登錄成功。 初步猜測是Nginx的問題,查看nginx的錯誤

nginx+php測試時顯示 502 bad gateway解決方法

http://www.apelearn.com/study_v2/chapter18.html 由於阿銘老師的PHP版本是 5.3的   我裝了 5.5    測試出現了 502  錯誤  檢視日誌   藉助nginx的錯誤日誌來進行排查vim /usr/local/n

解決nginx 502 bad gateway--團隊的力量

nginx 502 bad gateway   可以採取客戶端強制重新整理的方法,但是真正的解決要麼改配置或者放CDN上。      遇到這個問題,

Nginx 502 bad gateway問題的解決方法

Nginx 502 Bad Gateway的含義是請求的PHP-CGI已經執行,但是由於某種原因(一般是讀取資源的問題)沒有執行完畢而導致PHP-CGI程序終止,一般來說Nginx 502 Bad Gateway和php-fpm.conf的設定有關。 常見的原因可能是

nginx 502 Bad Gateway解決辦法

我的解決方式比較小白, 第一次報這個錯(nginx 502 Bad Gateway).網上找了一大圈都是PHP什麼的,但是好像都不適用. 於是問了之前的一個同事,他說是不是我的tomcat關閉了,我恍然大悟,去看了下,果然是的. 然後啟動tomcat就好了. 附上tom

ubuntu nginx php-fpm 報502 bad gateway 錯誤

上週六遊戲進不去,自己用工具測試時,提示 502 bad gateway 錯誤,一時不知道怎麼整,竟然把伺服器重啟了,等老闆的驗證碼,折騰了大半天,其實不用這樣,直接生啟php5-fpm,與nginx 就可以 /etc/init.d/php5-fpm restart ser

php laravel專案啟動報502 Bad Gateway錯誤

之前執行的好好的laravel專案突然不能啟動.... 環境排查: 1.nginx 檢視nginx伺服器是否啟動,命令列輸入以下命令 ps aux|grep nginx 或者直接在瀏覽器裡輸入127.0.0.1,如果得到下圖 說明nginx是開啟狀態,如果不是,請重啟nginx伺服器,命令列輸入以

匯出Excel時報502 bad gateway錯誤

自己本地除錯完全正常,放到伺服器就會報502的錯誤,error.log記錄 recv() failed (104: Connection reset by peer) while reading response header from upstream 後來找了半天,發現需要更改php.i

nginx 反向代理 Nginx 502 Bad Gateway

spm att lock 都是 nec set 解決方法 rmi perm 查看錯誤日誌: 摘要: nginx反向代理出現502錯誤 通過查看日誌發現錯誤信息 2018/01/10 17:58:20 [crit] 8156#0: *1 connect() to 127.0.

深入分析Nginx 502 Bad GatewayNginx 504 Gateway Time-out

Nginx 502 Bad Gateway的含義是請求的PHP-CGI已經執行,但是由於某種原因(一般是讀取資源的問題)沒有執行完畢而導致PHP-CGI程序終止。 Nginx 504 Gateway Time-out的含義是所請求的閘道器沒有請求到,簡單來說就是沒有請求到可以執行的PHP-CGI。

同時載入多張圖片遭遇502 bad gateway解決方案

前段時間做了一個頁面同時載入多張圖片,也就是同時多個請求訪問圖片伺服器,遭遇了502 bad gateway,糾結了很久,差點圓寂於此,不知道是不是伺服器的限制問題,而我的解決方案是: 1.每張圖片間隔30ms後加載,當然不必糾結這個數字,你可以設定大點; 睡眠的JS程式碼

【親測】502 Bad Gateway 怎麼解決

502 Bad Gateway 怎麼解決?  1.什麼是502 badgateway 報錯 簡單來說 502 是報錯型別程式碼,bad gateway 錯誤的閘道器。   2.產生錯誤的原因 連線超時&nbs

解Bug之路-Nginx 502 Bad Gateway

# 解Bug之路-Nginx 502 Bad Gateway ## 前言 事實證明,讀過Linux核心原始碼確實有很大的好處,尤其在處理問題的時刻。當你看到報錯的那一瞬間,就能把現象/原因/以及解決方案一股腦的在腦中閃現。甚至一些邊邊角角的現象都能很快的反應過來是為何。筆者讀過一些Linux TCP協議棧的