查看日志發(fā)現(xiàn)
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"
錯(cuò)誤原因是 (13: Permission denied),在請(qǐng)求資源的時(shí)候褒链,nginx訪問/usr/local/nginx/proxy_temp/8/02/0000000028沒有權(quán)限,所以請(qǐng)求失敗疑苔。
那么甫匹,為什么nginx要訪問proxy_temp文件夾呢,因?yàn)閜roxy_temp是nginx的緩存文件夾夯巷,我的css和js文件過大了赛惩,所以nginx一般會(huì)從緩存里面去拿,而不是每次都去原地址直接加載趁餐。
查看/usr/local/nginx/proxy_temp的文件權(quán)限喷兼,發(fā)現(xiàn)該文件夾的所有者是nobody用戶。然后我想起安裝nginx的時(shí)候是以nobody用戶運(yùn)行的后雷,后來我改為了nginx用戶運(yùn)行季惯,即當(dāng)前nginx的使用者是nginx,所以沒有這個(gè)文件夾的訪問權(quán)限臀突。
解決方法:
1.改變文件夾所有者勉抓,把文件夾及文件夾下所有文件的所有者改為當(dāng)前nginx的使用者,chown -R nginx.root./*候学。
2.重啟nginx