解決網站經常出現502錯誤詳解整理

來源:互聯網
上載者:User

最近公司網站頻繁出現502錯誤,串連靜態頁沒問題,只要串連資料庫的網頁就報502錯誤,經過尋找終於找到原因了


什麼原因導致502錯誤? 在網上看了很多解決方案,在這裡總結一下,如有錯誤,請指出,謝謝!


1:php-cgi進程數不夠用 (我就是採用此方法解決的)


vim php-fpm.conf


修改其中的2個參數


(1)在安裝好使用過程中出現502問題,一般是因為預設php-cgi進程是5個,可能因為phpcgi進程不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加


這個數值是不確定的 需要我們自己算的,這個值原則上是越大越好,php-cgi的進程多了就會處理的很快,排隊的請求就會很少,減小出現502錯誤的機率。

一般來說,一台伺服器的正常情況下每一個php-cgi要耗費的記憶體為20M左右。如果我就將此值設為80,那麼也就是說大概要耗費伺服器1600M記憶體。


查看一下當前系統中有多少個php-cgi進程在運行


netstat -anpo | grep php-cgi | wc -l


如果這個值接近你的在設定檔裡面設定的值,說明需要增加
註:這要根據機器的實際情況而定,每個機器的硬體設施和環境不一樣


參數為:<value name=”max_children”>80</value>


(2)另外一個參數就是php-cgi指令碼的執行時間

<value name=”request_terminate_timeout”>0s</value>這裡寫0s的意思是讓php-cgi一直執行下去,沒有時間限制。


注意:如果你做不到這一點,也就 是說你的PHP-CGI可能出現某個BUG,或者你的寬頻不夠充足或者其他的原因導致你的PHP-CGI假死那麼就建議你給 request_terminate_timeout賦一個值,這個值可以根據伺服器的效能進行設定。一般來說效能越好你可以設定越高,20分鐘-30分 鐘都可以。


修改完這兩個參數,重啟一下php-cgi,看是否還出現502錯誤


2: php執行時間長


php執行逾時,修改/usr/local/php/etc/php.ini 將max_execution_time 改為300

重啟一下php-cgi,看是否還出現502錯誤


3: php-cgi進程死掉


殺死其進程,重啟php-cgi


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.