我一直在努力寻找这个问题:你如何询问 apache 它曾经加载哪个 httpd.conf 文件?
当您有大量 apache 实例运行时,或者您很长时间没有查看机器时,情况就会变得困难,而且磁盘上有很多 httpd.conf 文件!
多谢 :)
答案1
apache2ctl -V | grep SERVER_CONFIG_FILE
答案2
/usr/sbin/apache2 -V
提供这些信息和更多信息:)
答案3
截至 2016 年(错误 59376),从此以后Apache 2.4.23
,可以使用专用于此目的的选项。
它可以显示整个配置文件树,包括行号,这对于调试复杂的配置很有用。
$ apachectl -t -D DUMP_INCLUDES
Included configuration files:
(*) /etc/httpd/conf/httpd.conf
(21) /etc/httpd/conf.d/elasticbeanstalk_log.conf
(21) /etc/httpd/conf.d/healthd.conf
(21) /etc/httpd/conf.d/ssl.conf
(22) /etc/httpd/conf.d/elasticbeanstalk/00_application.conf
(22) /etc/httpd/conf.d/elasticbeanstalk/01_gzip.conf
(22) /etc/httpd/conf.d/elasticbeanstalk/02_static.conf
或者,
$ httpd -t -D DUMP_INCLUDES
答案4
对于 RHEL 或 Centos,首先找到正在运行的 Apache 进程...
ps ax | grep httpd
注意输出中的路径。对我来说,它是...
/opt/rh/httpd24/root/usr/sbin/httpd
然后,您可以使用此路径的 -V 选项来获取配置路径......
/opt/rh/httpd24/root/usr/sbin/httpd -V
在输出中,您应该看到 HTTPD_ROOT 的绝对路径以及 SERVER_CONFIG_FILE 的相对路径。将绝对路径和相对路径放在一起,您便得到了配置文件的位置。