nginx fastcgi 超時問題解決記錄

洋蔥土豆隨心匠發表於2016-03-17

  在網站後臺導資料時,出現超時的情況。經過網上查詢資料和試驗

  主要在下面幾個配置的限制

  1.php配置

   第一種:set_time_limit(0); 永不過期

   第二種: php.ini   max_execution_time  = 1200

   ----實際是在本地用apache測試的時候已調整,估計nginx也是一樣需要做調整

   一般時間較長的匯入操作,資料量也是較大的,需要根據實際需要調整php.ini memory_limit = 64M。如果程式碼中有重新配置這個值,也需要檢查。

  2.php-fpm.conf 

  request_terminate_timeout 1200

  設定為20分鐘過期

  ----配置完成後一定記得重啟哦。我就是忘記重啟,然後以為這個配置改了也沒用,浪費了不少時間。

  service php-fpm reload(或restart)  一般配置修改都建議用reload

  3.nginx.conf

  fastcgi_connect_timeout 1200;

  fastcgi_send_timeout 1200;

  fastcgi_read_timeout 1200;

  -----主要應該是後面兩個引數,設定為20分鐘。當然我沒做把第一個引數改小的測試,條件允許的話可測試下。

  配置好後重啟

  service nginx reload 

  依然推薦使用reload

 

----------------超時的問題以上配置應該基本上能解決問題。這種大數量匯入主要從檔案大小和超時問題去考慮。涉及記憶體大小、超時時間配置。

本次調整主要是nginx伺服器出現502 bad gateway的錯誤,超時是這個錯誤的原因之一。其他包含連線數、緩衝區大小等等也是影響因素。這個不做詳細討論。

 

  

  

相關文章