如何处理nginx php文件下载损坏日志文件提示fastcgi_temp failed Permi

2019-04-03

最近深圳网站开发公司在开发一个项目,其中有一个栏目需要下载pdf文件,服务器采用了nginx+php+mysql,但是点击下载后文件提示损坏,无法打开。

刚开始怀疑技术问题,让技术调程序调到怀疑人生,后来又怀疑防火墙问题。最后在nginx的日志中发现
[crit] 6019#0: *425 open() "/usr/local/nginx/fastcgi_temp/9/00/0000000009" failed (13: Permission denied) while reading upstream...
果断执行
chown -R www:wwwfastcgi_temp/*
问题解决了

以下是问题的原理:
nginx 反向代理参数说明
proxy_connect_timeout 600;
#nginx跟后端服务器连接超时时间(代理连接超时)。
proxy_read_timeout 600;
#连接成功后,后端服务器响应时间(代理接收超时)。
proxy_send_timeout 600;
#后端服务器数据回传时间(代理发送超时)。
proxy_buffer_size 32k;
#设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k;
#proxy_buffers缓冲区,网页平均在32k以下的话,这样设置。
proxy_busy_buffers_size 64k;
#高负荷下缓冲大小(proxy_buffers*2)。
proxy_temp_file_write_size 64k;
#设定缓存文件夹大小,大于这个值,将从upstream服务器传。
问题就出在proxy_temp_file_write_size上,当你的文件超过该参数设置的大小时,nginx会先将文件写入临时目录(缺省为nginx安装目下/fastcgi_temp目录),如果nginx对fastcgi_temp没有权限就会写不进去,结果就是只显示部分页面。


或登陆千佰特网址:http://dz.qbt8.com/


此文标题:深圳网站开发公司