问题描述
在上一篇《Nginx低权限账户配置》(http://blog.csdn.net/rk2900/article/details/8633008)中,配置完毕测试基本正常,但是在下载一个一兆多的文件时,发现只能下载到164KB或者是192KB,文件头能正常读取,也能正常获取文件title、size等信息,下载到一半就是停住了。
问题解决
一开始以为是Nginx的配置问题。将Nginx worker进程所属账户改回原来的账户之后,下载正常,看来问题出在上。
那么到底是哪一步出现问题呢?
中间曲折的配置——测试等环境跳过,直接说最后解决办法。
进入Nginx所在目录下的log或logs文件夹,查看error的记录。
tail nginx_error.log
看到末尾有以下记录:
2013/02/27 14:03:31 [crit] 12999#0: *584158 open() "/opt/nginx/fastcgi_temp/1/61/0000005611" failed (13: Permission denied) while reading upstream, client: X.X.X.X, server: XXXX.com, request: "GET /download.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "XXXX.com"
进入fastcgi_temp目录,查看目录权限,发现目录读写权限未对Nginx的worker进程所属账户授权,授权后问题解决。
顺手将Nginx目录下的几个临时文件都进行了授权处理。