主要的 apache 配置文件位于/etc/httpd/conf/httpd.conf
我的 CentOS 系统上,其中有一行:
Include conf.d/*.conf
conf.d 内部主要是执行以下操作的文件:
LoadModule auth_kerb_module modules/mod_auth_kerb.so
但也有其他站点在那里设置并拥有自己的配置文件。这是没有经过深思熟虑还是我错过了什么?
答案1
分离配置文件是管理它们的一种方法。通过将特定于模块的配置行放入其自己的文件中,启用和禁用模块变得更加容易。它还有助于管理它们,因为现在您只需编辑一个小的配置文件。 (想象一下打开一个 500 行的 httpd.conf 并寻找不正确的选项。)
不同的系统似乎有不同的方式来分离apache配置文件。例如,在我的 Gentoo 上有modules.d/
和vhosts.d/
,而在我的 Ubuntu 上有conf.d/
, mods-available/
, mods-enabled/
,sites-available/
和sites-enabled/
。您可以通过名称猜出它们的作用,或者查看 httpd.conf 中的Include
行。
答案2
由于有多个软件包可以为 Apache 的 HTTPd 提供功能,因此基础软件包安装了一个 httpd.conf,它提供了大部分基本设置,而其他软件包(例如 mod_ssl、nagios 和 php)则具有需要包含在每个软件包中的配置文件。包裹。 Red Hat 打包程序使用 conf.d 目录来放置这些软件包的配置,否则他们需要修改每个软件包的 httpd.conf,这在软件包安装过程中很难自动化。
答案3
我发现关于 apache 中配置文件的具体位置并没有很好的文档化规范。特别是因为他们最近改变了默认的操作方式。您是从源代码安装还是从包安装?软件包,尤其是 debian 软件包,似乎根本不遵循 apache 源代码。
我已经有一段时间没有对 apache 做过很多工作了,但如果我记得的话,conf.d/ 是你用来加载守护进程模块的地方,就像你发布的那样,或者 ffi 或类似的东西。
而conf/是站点特定配置文件所在的位置。
这就是我的样子,这是从源代码安装的。
% ll /opt/apache2
drwxr-xr-x 2 root 4.0K 2010-10-25 14:14 bin/
drwxr-xr-x 2 root 4.0K 2010-10-25 14:14 build/
drwxr-xr-x 2 root 4.0K 2010-10-25 14:14 cgi-bin/
drwxr-xr-x 4 root 4.0K 2010-10-28 15:54 conf/
drwxr-xr-x 3 root 4.0K 2010-10-25 14:14 error/
drwsrwxrwx 3 www 4.0K 2010-10-28 13:06 htdocs/
drwxr-xr-x 3 root 4.0K 2010-10-25 14:14 icons/
drwxr-xr-x 2 root 4.0K 2010-10-25 14:14 include/
drwxr-xr-x 3 root 4.0K 2010-10-25 14:14 lib/
drwxr-xr-x 3 root 4.0K 2010-10-28 16:11 logs/
drwxr-xr-x 4 root 4.0K 2010-10-25 14:14 man/
drwxr-xr-x 14 root 12K 2010-10-14 11:45 manual/
drwxr-xr-x 2 root 4.0K 2010-10-25 14:20 modules/
% ll /opt/apache2/conf
total 88K
drwxr-xr-x 2 root 4.0K 2010-10-28 15:55 extra/
drwxr-xr-x 3 root 4.0K 2010-10-25 14:14 original/
-rw-r--r-- 1 root 14K 2010-10-28 15:54 httpd.conf
-rw-r--r-- 1 root 13K 2010-10-25 14:14 magic
-rw-r--r-- 1 root 45K 2010-10-25 14:14 mime.types
% ll /opt/apache2/conf/extra
total 60K
-rw-r--r-- 1 root 179 2010-10-28 15:31 20_mod_fastcgi.conf
-rw-r--r-- 1 root 2.8K 2010-10-25 14:14 httpd-autoindex.conf
-rw-r--r-- 1 root 1.7K 2010-10-25 14:14 httpd-dav.conf
-rw-r--r-- 1 root 2.3K 2010-10-25 14:14 httpd-default.conf
-rw-r--r-- 1 root 1.1K 2010-10-25 14:14 httpd-info.conf
-rw-r--r-- 1 root 5.0K 2010-10-25 14:14 httpd-languages.conf
-rw-r--r-- 1 root 906 2010-10-25 14:14 httpd-manual.conf
-rw-r--r-- 1 root 3.8K 2010-10-25 14:14 httpd-mpm.conf
-rw-r--r-- 1 root 2.2K 2010-10-25 14:14 httpd-multilang-errordoc.conf
-rw-r--r-- 1 root 10K 2010-10-25 14:14 httpd-ssl.conf
-rw-r--r-- 1 root 817 2010-10-25 14:14 httpd-userdir.conf
-rw-r--r-- 1 root 1.8K 2010-10-28 15:55 httpd-vhosts.conf
但还要注意,这不是一个实时服务器,我专门构建了这个 apache 安装来测试重量