nginx的修改php
send_timeout 60; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; client_max_body_size 30m; 能夠全局設置也能夠每一個網站單獨設置
php的修改nginx
upload_max_filesize 10M post_max_size 15M 該項應該要大於 upload_max_filesize max_input_time 300 max_execution_time 300
php-fpm注意參數服務器
request_terminate_timeout 300 request_slowlog_timeout 若是多數爲上傳大文件則設置較大值,這個根據自身狀況設置
這兩個參數若是設置太小的話會致使文件傳輸了一部分後鏈接關閉。網絡
最大時間根據用戶帶寬計算,不建議設置爲 0 無限制,避免意外宕機。併發
==========================================================php-fpm
因爲看到網上不少配置帖子中說要把 nginx.conf 中的 keepalive_timeout 時間設置加大才行post
個人服務器上設置爲:測試
keepalive_timeout 60; 默認 大概 75s 我設置的是 60,網站
因此code
通過實際測試,本地限速 34KB/s 上傳 9MB 文件,用時270秒左右,上傳成功,
代表實際上傳不受 keepalive_timeout 時間影響,和該項配置無關
並且這個時間加長會嚴重影響 nginx 的併發
至於 send_timeout 我在網上查詢了半天也沒搞清楚究竟是怎麼個超時,一樣也測試過,
將 send_timeout 設置爲 60 後,
上傳超過 170s 仍然上傳成功,因此我理解的是該超時時間應該爲 客戶端上傳時網絡斷流後超過 60s 則中止接收接收操做,中斷鏈接。只要持續發送數據則不會斷掉,多是這樣的吧