nginx由於權限導致大文件不能上傳的問題


1、用了nginx代理后,應用上傳文件時,發現小文件可上傳,大文件上傳不了,查nginx日志,發現有這么一句:client intended to send too large body

   在nginx.conf配置文件的server加上 client_max_body_size 1024m

  重啟nginx,上傳大文件,還是上傳不了,但后台沒有client intended to send too large body日志了。

  此時后台有日志如:2019/08/02 18:37:35 [crit] 437115#0: *34 open() "/usr/local/nginx/client_body_temp/0000000009" failed (13: Permission denied)。 而小文件可上傳。

2、再次編輯nginx.conf文件,開頭加上 user root;

#user nobody;
user root;
worker_processes 1;

3、再次重啟nginx,大文件可以上傳了。

4、問題分析:還沒仔細分析。

   但想原因應可能是nginx沒加user root之前,是以默認的nobody用戶運行的,而用nginx上傳文件時,大文件要先在某個目錄緩存一下再轉發給應用,但nobody用戶權限太小,文件不能寫入所致。而小文件不緩存,直接就轉發到應用程序了。 下次有空再仔細分析一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM