Я пытаюсь настроить виртуальные хосты в Mac OS X. Я изменял httpd.conf и перезагружал сервер, но мне не повезло заставить его работать. Кроме того, я заметил, что он не обслуживает файлы в DocumentRoot, упомянутом в httpd.conf (Libraries / WebServer / Documents), а в другом каталоге (/ usr / local / apache2 / htdocs). Я не вижу нигде упомянутой папки в httpd.conf. Кроме того, PHP работает, но строка «LoadModule php5_module» закомментирована. Это заставляет меня думать, что он использует другой файл .conf. Как я могу выяснить, какая конфигурация на самом деле загружается?
Обновление: я только что удалил, что httpd.conf и apache ведут себя одинаково после перезапуска, поэтому он определенно не использовал его!
источник
/usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/apache2/httpd_server_app.conf -D WEBSERVICE_ON
Там еще один ServerFault вопрос относительно этого . Если вы используете сервер на основе Debian, вы можете
apache2ctl
определить, какой файл конфигурации используется:Подробнее об этом:
Как узнать, какой httpd.conf apache использует во время выполнения
источник
Пытаться
и вы должны (возможно) получить вывод, как
Кроме того, как именно вы перезагружаете сервер? Просто любопытно , в случае , если вы как - то не на самом деле перечитывая конфигурационный файл.
источник
-f
флагаПотому что некоторые конфиги используют серверное приложение, варево или что-то еще, и потому что один лайнер FTW:
Эта команда делает следующее:
Проверено на Сьерра и Эль Капитан
источник
$
Важно (это не из командной строки в данном случае). If преобразует оператор в паранах в команду, которой мы передаем-V
флаг. В противном случае: "синтаксическая ошибка рядом с неожиданным токеном` -V '".Сначала проверьте, какой скрипт запускается для Apache. Для macOS это должно быть / Library / LaunchDaemons. Это может включать рабочий каталог или аналогичную информацию.
Вы также можете отладить сам запущенный процесс с помощью dtruss. Вы можете подключиться к запущенному процессу, используя
dtruss -p <pid>
. Затем, если вы подключитесь к нему, вы, вероятно, сможете просмотреть выходной файл, чтобы узнать, откуда он берет свою конфигурацию. Либо просто запустите Apache, вызвав напрямую dtrussdtruss start_apache_command
.Вы всегда можете просто выполнить общесистемный поиск по httpd.conf
find / -name httpd.conf
.источник