为什么将一些配置信息放在 conf/httpd.conf 中,而将一些放在 conf.d 文件夹中的文件中?

too*_*hel 11 configuration centos apache-httpd

主要的 apache 配置文件在/etc/httpd/conf/httpd.conf我的 CentOS 系统中,其中有一行:

Include conf.d/*.conf
Run Code Online (Sandbox Code Playgroud)

conf.d 里面主要是做这样的事情的文件:

LoadModule auth_kerb_module modules/mod_auth_kerb.so
Run Code Online (Sandbox Code Playgroud)

但也有其他站点在那里设置并拥有自己的配置文件。这不是经过深思熟虑还是我错过了什么?

phu*_*ehe 8

分离配置文件是管理它们的一种方式。通过将特定于模块的配置行放入它们自己的文件中,启用和禁用模块变得更加容易。它还有助于管理它们,因为现在您只需编辑一个小的配置文件。(想象一下打开一个 500 行的 httpd.conf 并寻找一个不正确的选项。)

不同的系统似乎有不同的方式来分隔 apache 配置文件。例如在我的Gentoo有modules.d/vhosts.d/,而在我的Ubuntu有conf.d/mods-available/mods-enabled/sites-available/sites-enabled/。您可以通过名称猜出它们的作用,或者查看 httpd.conf 中的Include行。