2017-01-12 2 views
0

Процессы Httpd используют нестандартный файл конфигурации, если они запускаются с флагом -f.Найти местоположение httpd.conf после его изменения с помощью флага -f

Например

/home/myuser/apache/httpd-2.4.8/bin/httpd -f /confFiles/apache/2.4.8/apache.conf -k начать

будет использовать эту файл конфигурации: /confFiles/apache/2.4.8/apache.conf

Мне нужно получить это местоположение и, скорее всего, не нужно будет проверять возможные флаги -f, используемые для запуска httpd.

answer here говорит, чтобы запустить/путь/к/HTTPD -V и сцепить

-D SERVER_CONFIG_FILE = "конф/httpd.conf"

с

-D HTTPD_ROOT = "/ и т.д./httpd "

Чтобы получить окончательный путь к файлу конфигурации.

Однако этот путь не будет правильным, если флаг -f используется для запуска процесса httpd.

Есть ли команда, которая может получить файл конфигурации, который фактически используется процессом?

ответ

0

Ответ, на который вы ссылаетесь, упоминает, что пути httpd были скомпилированы, но, как вы говорите, их можно вручную изменить с помощью параметров.

Простой способ проверить это командная строка, если процесс называется «HTTPD» (стандартное имя), простой п.с. покажет конфигурационный файл используется:

ps auxw | grep httpd 

Или запрос на сервер, если сервер имеет mod_info загружено, в командной строке или с вашим любимым браузером:

curl "http://yourserver.example.com/server-info?server" | grep -i "config file" 

Примечания: mod_info не должен быть publicaly доступен для всех, чтобы видеть.

+0

Спасибо, я пишу код автоматизации и задаюсь вопросом, есть ли верный способ получить правильный файл conf вместо того, чтобы проверять флаг f и (если его нет), а также посмотреть на скомпилированные пути. – Roko

+0

, если флаг -f отсутствует, тогда должно применяться значение по умолчанию, которое вы можете получить с помощью httpd -V или still mod_info. –

Смежные вопросы