nginx不会加载符号链接的conf文件
我有两台服务器,一台新的,一台旧的 在这两台服务器上都有一个名为mysite.conf的conf文件,该文件符号链接到/var/local/mysite/conf/mysite.conf /etc/nginx/conf.d/mysite.conf->/var/local/mysite/conf/mysite.conf 在旧服务器上,一切正常。但是,在新服务器上,它不会遵循符号链接。如果我使conf文件成为一个真实的文件,那么nginx将加载它/etc/nginx/conf.d/mysite.conf,它就会工作 有什么区别 .conf文件上的文件权限相同nginx不会加载符号链接的conf文件,nginx,Nginx,我有两台服务器,一台新的,一台旧的 在这两台服务器上都有一个名为mysite.conf的conf文件,该文件符号链接到/var/local/mysite/conf/mysite.conf /etc/nginx/conf.d/mysite.conf->/var/local/mysite/conf/mysite.conf 在旧服务器上,一切正常。但是,在新服务器上,它不会遵循符号链接。如果我使conf文件成为一个真实的文件,那么nginx将加载它/etc/nginx/conf.d/mysite.co
主/etc/nginx/nginx.conf文件是相同的。尝试添加到nginx.conf文件:
http {
disable_symlinks off;
}
我想出来了。是塞利努克斯。谢谢你Alexey Ten。要解决此问题,您需要制作一个模块来调整SELinux设置
tail /var/log/audit/audit.log | audit2why
tail /var/log/audit/audit.log | audit2allow -m myapplocal > myapplocal.te
tail /var/log/audit/audit.log | audit2allow -M myapplocal
semodule -i myapplocal.pp
生成的模块对我来说如下所示:
require {
type httpd_t;
type var_t;
class file getattr;
}
#============= httpd_t ==============
allow httpd_t var_t:file getattr;
检查所有父目录的权限两台计算机上的文件/目录排列相同。conf文件是644,下面的目录是755。这可能与SELinux有关。我想也有一些与此相关的问题。我可以在/var/log/audit/audit.log中看到一些东西。我使用了audit2why和audit2allow,创建了一个模块,安装了它,但它不起作用。另一台服务器可以工作,但这台不能。这里有一个线索。我相信这个设置不是为了在conf文件上跟踪符号链接,而是为了在提供服务的文件上跟踪符号链接。尽管如此,我还是试过了,但没有成功。