近期在华为云(centos)上部署了一套应用,域名解析对应到nginx,再对应到tomcat上,nginx和tomcat安装在两台云服务器上,直接用IP地址访问tomcat页面正常,但是通过域名访问,则出现首页图片无法加载,登录后有些页面js无法正常加载的问题。
查看nginx日志,提示如下:
2019/09/17 14:33:48 [crit] 16324#0: *14428 open() "/usr/local/nginx/proxy_temp/2/15/0000001152" failed (13: Permission denied) while reading upstream, client: 12.3.4.5, server: localhost, request: "GET /INTDMS/img/login_bk.png HTTP/1.1", upstream: "http://192.168.3.62:8080/INTDMS/img/login_bk.png", host: "test.motor.com", referrer: "http://test.motor.com/jsp/common/login.jsp"
通过winscp访问,发现 /usr/local/nginx/proxy_temp 目录,拥有者为nobody,权限是rwx---,也就是只有拥有者才有读写权限,即使root账户也是无法访问的,但是tomcat是部署启动在yytest账户下的,因此通过域名访问后图片和js才无法正常加载。
通过脚本自动将/usr/local/nginx/proxy_temp 目录下所有文件、文件夹的权限改成rwxrwxrwx,后问题解决。
注:现在有个疑问