查看 linux 日志:

2015/05/27 02:19:10 [crit] 29263#0: *72 open() "/var/cache/nginx/proxy_temp/3/00/0000000003" failed (13: Permission denied) while reading upstream, client: 192.168.1.30, server: localhost, request: "GET /项目名/frame/js/jquery-1.10.1.min.js HTTP/1.1", upstream: "http://192.168.1.177:8080/项目名/frame/js/jquery-1.10.1.min.js", host: "192.168.1.177", referrer: "https://192.168.1.177/项目名/"


进入到proxy的缓存文件夹发现

#cd /var/cache/nginx/

#ll 

total 20

drwx------  2 nginx root 4096 May 25 11:24 client_temp

drwx------  2 nginx root 4096 Apr  1 18:35 fastcgi_temp

drwx------ 12 nginx root 4096 Apr  6 12:14 proxy_temp

drwx------  2 nginx root 4096 Apr  1 18:35 scgi_temp

drwx------  2 nginx root 4096 Apr  1 18:35 uwsgi_temp


#ll proxy_temp

total 40

drwx------ 6 ftp ftp 4096 May 27 10:49 0

drwx------ 7 ftp ftp 4096 May 27 10:49 1

drwx------ 7 ftp ftp 4096 May 27 10:49 2

drwx------ 7 ftp ftp 4096 May 27 11:08 3

drwx------ 7 ftp ftp 4096 May 27 11:08 4

drwx------ 6 ftp ftp 4096 May 27 11:08 5

drwx------ 5 ftp ftp 4096 May 27 10:44 6

drwx------ 5 ftp ftp 4096 May 27 10:45 7

drwx------ 5 ftp ftp 4096 May 27 10:45 8

drwx------ 5 ftp ftp 4096 May 27 10:45 9

由此我们知道 原因是:nginx 的工作进程对大文件做了缓存,这个缓存在 %nginx%/proxy_temp 目录下,主进程在读取缓存的时候由于权限问题而无法访问。

#ps -ef|grep nginx  可得到运行nginx的用户是nginx

所以我们要修改proxy_temp下面的文件夹权限,运行以下命令

#chown -R nginx:root proxy_temp