如何找出 apache 在运行时正在使用哪个 httpd.conf

如何找出 apache 在运行时正在使用哪个 httpd.conf

我一直在努力寻找这个问题:你如何询问 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 的相对路径。将绝对路径和相对路径放在一起,您便得到了配置文件的位置。

信用:https://stackoverflow.com/a/22900993/861826

相关内容