在網站後臺導資料時,出現超時的情況。經過網上查詢資料和試驗
主要在下面幾個配置的限制
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的錯誤,超時是這個錯誤的原因之一。其他包含連線數、緩衝區大小等等也是影響因素。這個不做詳細討論。