nginx get正常访问 post404

如果客户端POST一个比较大的文件,长度超过了nginx缓冲区的大小,需要把这个文件的部分或者全部内容暂存到client_body_temp目录下的临时文件,这个目录没有设置权限的时候,会报404错误,问题通常出现在本地环境上,

解决方法:

开启nginx日志,到日志目录下,tail -F 日志名,访问页面报nginx404,日志打印发现报

open() "/xxx/xxx/xxx/xxx/xxx/client_body_temp/0000000153" failed (13: Permission denied)

 

解决方案1

给这个目录权限

mac (本人解决方法)

sudo chmod -R 777 /usr/local/var/run/nginx/client_body_temp/

(可解决问题,权限太高了,但不太建议这么做)

 

解决方案2(网上查的,没有亲测过)

在nginx的配置中加入client_body_temp目录创建路径
client_body_temp_path  /spool/nginx/client_temp 3 2;
可能创建的文件路径为
/spool/nginx/client_temp/702/45/00000123457

你可能感兴趣的:(nginx)