如何找出运行时使用的 httpd.conf apache

36 httpd.conf apache-2.2

我一直很难找到这个:你怎么能问 apache 它用来加载哪个 httpd.conf 文件?

当你有多个apache的实例在运行,或者你长时间没有看机器,并且磁盘上有很多httpd.conf文件时,就会变得困难!

非常感谢 :)

var*_*tec 55

apache2ctl -V | grep SERVER_CONFIG_FILE
Run Code Online (Sandbox Code Playgroud)

  • 也可能是 httpd -V (4认同)
  • 答对了。请注意,对于不同的发行版或操作系统,该二进制文件可能称为 apachectl。另外 grep for HTTPD_ROOT - SERVER_CONFIG_FILE 前面的 HTTPD_ROOT 值将为您提供配置文件的完整路径。 (2认同)

Ami*_*idu 6

自 2016 年(错误 59376Apache 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
Run Code Online (Sandbox Code Playgroud)

或者,

$ httpd -t -D DUMP_INCLUDES
Run Code Online (Sandbox Code Playgroud)


小智 5

/usr/sbin/apache2 -V提供此信息以及更多信息:)