使用nginx配合FastDFS上传文件时,出现500错误(程序没有问题,而是nginx的问题)

项目背景:项目使用微服务的架构进行开发,前端进行文件上传时,首先经过nginx反向代理到对应的上传文件模块的服务器,再由该服务器将图片上传到FastDFS。

点击上传文件后出现了如下错误:

出现500首先就去检查了自己的程序,发现没有日志打出来,所以应该是在nginx进行反向代理的过程中出错。仔细观察发现Response Headers中的Server是nginx,此时第一反应是认为nginx对文件大小进行了限制。所以对nginx进行了如下配置:

重启nginx,还是出现了此错误,于是去查看nginx的日志文件,error.log(mac在 /usr/local/var/log/nginx目录下) 

发现:open() "/usr/local/var/run/nginx/client_body_temp/0000000010" failed (13: Permission denied),没有权限,此时去修改该文件的权限即可。

sudo chmod -R 777 client_body_temp

然后重启nginx,现在就ok了。

查了一下资料:client_body_temp的作用就是将客户端上传的超过nginx缓冲区大小的文件存放在其临时目录,所以上传一些小的文件(比如10k以下,这个数字我没查过?),就不会有问题。

猜你喜欢

转载自blog.csdn.net/Jack_PJ/article/details/85341674
今日推荐