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