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