nginx 下載 大文件被截斷

若是出現大文件被截斷,且ngix的日誌大量出現如下相似報錯:nginx

 

 

則說明是nginx沒有fastcgi_temp的讀寫權限。其中fastcgi_temp是本身的文件夾名稱,每一個人的不一樣且路徑也會不一樣,這個看你的nginx配置。好比我這的就是/data/nginx/proxy_temp緩存

 

知道緣由,解決起來就方便多了:chmod -R 777 /data/nginx/proxy_temp 賦予權限就能夠了。

日誌

緣由:每次下載失敗時文件的大小老是64KB。原來,nginx會使用fastcgi_buffer_size指定的大小的緩衝區用於緩存fastcgi流的內容。當大小超出此大小時會繼續用fastcgi_buffers指定的數量和大小申請緩衝區。若是依然超出此大小,會將多出的內容寫入臨時文件。也就是說,在本狀況下,nginx首先會使用一個64K的緩衝區緩衝fastcgi流的第一部分,超出後最多申請4*64K=256K的緩衝區用於緩衝。若是繼續超出,則寫入臨時文件。因此,在下載大於256K文件的時候,須要用到臨時文件夾進行緩衝,而這裏沒有權限操做,就致使了該問題。

blog

相關文章
相關標籤/搜索