我有2台服务器(新旧服务器)
在两台服务器上都有一个名为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文件的文件权限相同。
主/etc/nginx/nginx.conf文件完全相同。
答案 0 :(得分:0)
尝试添加到您的nginx.conf文件中:
http {
disable_symlinks off;
}
答案 1 :(得分:0)
我明白了。这是SELinux。谢谢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;