Я всегда изо всех сил пытался найти это: Как вы можете спросить Apache, какой файл httpd.conf он использовал для загрузки?
Это становится трудным, когда у вас запущено несколько экземпляров Apache, или если вы долгое время не смотрели на компьютер, а на диске много файлов httpd.conf!
Большое спасибо :)
Apache2ctl -V | grep SERVER_CONFIG_FILE
/usr/sbin/Apache2 -V
предоставляет эту информацию и немного больше :)
В Йосемити я обнаружил, что это было /Library/Server/Web/Config/Apache2/httpd_server_app.conf
Даже не смотря на apachectl -V | grep .conf
Дает -D SERVER_CONFIG_FILE="/private/etc/Apache2/httpd.conf"
Для 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. Соедините этот абсолютный путь и относительный путь, и у вас будет расположение файла конфигурации.
По состоянию на 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