nginx 上傳大檔案超時
情況如下:用nginx作**伺服器,上傳大檔案時(本人測試上傳50m的檔案),提示上傳超時或檔案過大。
原因是nginx對上傳檔案大小有限制,而且預設是1m。另外,若上傳檔案很大,還要適當調整上傳超時時間。
解決方法是在nginx的配置檔案下,加上以下配置:
client_max_body_size 50m; //檔案大小限制,預設1m
client_header_timeout 1m;
client_body_timeout 1m;
proxy_connect_timeout 60s;
proxy_read_timeout 1m;
proxy_send_timeout 1m;
每個引數的意思:
client_max_body_size
限制請求體的大小,若超過所設定的大小,返回413錯誤。
client_header_timeout
讀取請求頭的超時時間,若超過所設定的大小,返回408錯誤。
client_body_timeout
讀取請求實體的超時時間,若超過所設定的大小,返回413錯誤。
proxy_connect_timeout
http請求無法立即被容器(tomcat, netty等)處理,被放在nginx的待處理池中等待被處理。此引數為等待的最長時間,預設為60秒,官方推薦最長不要超過75秒。
proxy_read_timeout
http請求被容器(tomcat, netty等)處理後,nginx會等待處理結果,也就是容器返回的response。此引數即為伺服器響應時間,預設60秒。
proxy_send_timeout
http請求被伺服器處理完後,把資料傳返回給nginx的用時,預設60秒。
nginx 參考文件:
php和Nginx上傳大檔案
1 修改php.ini file uploads on 是否允許通過http上傳檔案的開關。預設為on即是開 upload tmp dir 檔案上傳至伺服器上儲存臨時檔案的地方,如果沒指定就會用系統預設的臨時資料夾 upload max filesize 8m 望文生意,即允許上傳檔案大小的最大值。...
上傳大檔案 關於大檔案上傳
js計算檔案md5使用spark md5.js,據說這個庫使用的是世界上最快的md5演算法。js對檔案切片並使用ajax上傳切片 let size file.size 獲取檔案大小 const shardsize 1024 1024 塊大小1mb let shardcount math.ceil s...
大檔案上傳
首先先要建好幾個檔案 html裡面 1238 9141589 90php裡面 1 2 username post username 3 1 接收前端傳過來的引數 4 ori file name post filename 原始檔案的檔名 5 file files file 6 tmp name fi...