为什么rhel / centos以这种方式存储apache conf文件?

我已经开始在一个新的工作中pipe理一系列基于CentOS的networking服务器,并且在使用基于Debian的Linux服务器几年之后,我对apache文件结构非常熟悉,如下所示:

/etc/apache2 apache2.conf conf.d/ envvars mods-available mods-enabled ports.conf sites-available sites-enabled 

这对我来说是有意义的,对我来说可用但不一定在使用的mod-available ,而用户中的mods-enabled ,同样也可以直接与sites使用。 当然,这些主要是符号链接,但我可以理解为什么这样做, 来到系统新鲜我有一个粗略的想法是什么在系统上,通过查看相关*enabled目录。

比较而言,CentOS的设置是这样的:

  /etc/httpd conf conf.d logs -> ../../var/log/httpd modules -> ../../usr/lib64/httpd/modules run -> ../../var/run 

我可以理解,我可以通过调用apachectl -S来查看哪些主机已启用,并且可以使用apachectl -M来查看这些模块,将/conf.d/example.conf重命名为conf.d/example.conf.disabled将允许我禁用网站也相当简单,但我不明白为什么这些是不同的,现在,我不知道这样做的好处。

是否有任何网页,博客文章或网站可以帮助解释两者之间的差异,还有可能是为什么他们这样设置?

现在我盲目地遵循我在标准CentOS文件系统中看到的惯例,而不理解为什么,当我至less期望它的时候,我不禁感到会咬我,比如当我在selinux的权限层上大错,或者相似的东西。

只是不同的思考方式。 我不认为你有什么担心,只要你不离开目录结构,什么都不会咬。 很明显,其他软件包会把他们自己的.conf文件放到conf.d目录中,所以重命名或移动它将是一个坏主意。 已启用/已启用的模块已被取消,但不包括所有软件包的conf.d文件中的include行。 有些仍然通过RPM后安装例程将其添加到httpd.conf文件中。

每个发行版都有一定的偏好,他们遵循他们认为创build时最好的模式。 这是由于开发人员缺乏标准和偏好造成的。

我不认为有太多的理解,不。