Nginx 500错误(上传文件)

项目场景:

生产需要淘汰老旧设备,准备云迁移,测试环境将所有服务迁移到新环境后,需要测试,旧环境前置服务器使用的是apache,新环境使用nginx


问题描述:

手机后台在内网,手机人脸识别时候返回500错误,查看手机后台日志,没有任何日志。


原因分析:

请求没到手机后台,查看nginx下错误日志error .log
下面展示一些 内联代码片

反向日志 proxy_reverse.access.log 
0.0.0.0 - - [17/Sep/2021:09:57:46 +0800] "POST /easyxxxUAT/xxxx/xxxx/queryFacePicVerify HTTP/1.1" 500 177 "-" "iPhone10,3(iOS/13.7) Uninview(Uninview/1.0.0) Weex/0.26.0 1125x2436"
错误日志 error.log
2021/09/17 09:57:44 [crit] 18908#0: *18831 open() "/app/nginx/xxxx/client_body_temp/0000000073" failed (13: Permission denied), client: 0.0.0.0, server: , request: "POST /xxxx/xxx/xxxx/queryFacePicVerify HTTP/1.1", host: "0.0.0.0:0"

看到其他从手机前台发来的请求都正常返回,了解到这个请求是发送图片,查阅相关博客,了解到nginx 的client_max_body_size上传文件默认是1M。
上传的文件会缓存到临时文件“/dev/shm/nginx_temp/client_body/0000000037”中;临时文件的空间不足;实际上,上传的文件会首先保存到缓冲区中,client_body_buffer_size可以配置缓冲区的大小,只有当文件超过缓冲区的大小才会缓存到临时文件中

并且上面报错是 Permission denied


解决方案:

#设置上传文件的最大值

client_max_body_size 500m;

#设置临时文件存放路径

client_body_temp_path /export/data/temp/;
重启服务

参考

https://blog.csdn.net/weixin_36247139/article/details/112400155

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值