查看日志发现
2019/07/23 15:14:56 [crit] 48437#0: *2777 open()
"/usr/local/nginx/proxy_temp/8/02/0000000028" failed (13: Permission
denied) while reading upstream, client: xxx, server: xxx, request: "GET
/cocoding/webjars/springfox-swagger-ui/swagger-ui.min.js HTTP/1.1",
upstream: "http://127.0.0.1:8080/cocoding/webjars/springfox-swagger-
ui/swagger-ui.min.js", host: "xxx", referrer:
"http://xxx/cocoding/swagger-ui.html"
错误原因是 (13: Permission denied),在请求资源的时候,nginx访问/usr/local/nginx/proxy_temp/8/02/0000000028没有权限,所以请求失败。
那么,为什么nginx要访问proxy_temp文件夹呢,因为proxy_temp是nginx的缓存文件夹,我的css和js文件过大了,所以nginx一般会从缓存里面去拿,而不是每次都去原地址直接加载。
查看/usr/local/nginx/proxy_temp的文件权限,发现该文件夹的所有者是nobody用户。然后我想起安装nginx的时候是以nobody用户运行的,后来我改为了nginx用户运行,即当前nginx的使用者是nginx,所以没有这个文件夹的访问权限。
解决方法:
1.改变文件夹所有者,把文件夹及文件夹下所有文件的所有者改为当前nginx的使用者,chown -R nginx.root./*。
2.重启nginx
网友评论