conf.d 是 apache 的模块化配置目录,通过主配置文件中的 include 指令加载所有 .conf 文件;支持按功能拆分配置、禁用时重命名、避免主配置被升级覆盖,并需注意命名顺序、语法正确及发行版路径差异。

conf.d 是 Apache 配置管理中非常实用的目录,它不是直接被 Apache 加载的“主配置”,而是通过主配置文件(通常是 /etc/httpd/conf/httpd.conf 或 /etc/apache2/apache2.conf)中的 Include 指令引入的——比如这一行:
Include conf.d/*.conf
这意味着:所有放在 conf.d/ 下、以 .conf 结尾的文件,都会在 Apache 启动时被自动读取并生效。
conf.d 的核心用法
按功能或站点拆分配置
比如把 PHP 设置单独写进php.conf,SSL 配置放进ssl.conf,某个网站的虚拟主机写成myapp.conf。这样比堆在httpd.conf里更清晰、易维护。启用/禁用配置无需删改内容
想临时停用某项配置?把myapp.conf改名为myapp.conf.disabled即可。Apache 只认.conf文件,重启后自动跳过它。避免修改主配置文件,便于系统升级
系统更新时,httpd.conf可能被覆盖,但conf.d/下的自定义文件通常保留不变,安全又省心。
实际操作要点
文件命名规范
推荐用有意义的名称 +.conf,例如:00-default-site.conf(保证优先加载)10-php-settings.conf99-monitoring.conf
注意:Apache 按字母顺序加载,所以加数字前缀可控制顺序。-
语法必须正确,否则启动失败
每个.conf文件都需是合法的 Apache 配置片段,不能有语法错误。可用命令验证:sudo apachectl configtest # 或 sudo httpd -t
-
常见内容类型
-
<virtualhost></virtualhost>块(多站点部署) -
LoadModule和AddHandler(启用模块或处理类型) -
<directory></directory>权限控制 - 全局指令如
ServerSignature Off、TraceEnable Off
-
-
路径位置因发行版略有不同
Apache 2.4.62下载PHP中文网提供Apache 2.4.62 官方 tar.gz 源码包下载,通过源码编译安装,开发者能够灵活定制模块、优化性能并精准控制安装路径,满足多样化的业务需求。
- RHEL/CentOS/Fedora:
/etc/httpd/conf.d/ - Debian/Ubuntu:
/etc/apache2/conf-enabled/(实际链接到conf-available/)
但逻辑一致:都是模块化配置入口。
- RHEL/CentOS/Fedora:
一个最小可用示例
新建 /etc/httpd/conf.d/test-site.conf:
<virtualhost>
ServerName test.local
DocumentRoot "/var/www/test"
<directory>
Require all granted
</directory></virtualhost>
然后确保:
- 目录
/var/www/test存在且有index.html -
/etc/hosts中加一行:127.0.0.1 test.local - 执行
sudo systemctl restart httpd(或apache2)
访问 http://test.local 就能看到效果。
不复杂但容易忽略细节。










