Próbuję skonfigurować wirtualne hosty w systemie Mac OS X. Zmieniłem httpd.conf i zrestartowałem serwer, ale nie miałem szczęścia w jego uruchomieniu. Ponadto zauważam, że nie wyświetla plików w DocumentRoot wspomnianym w httpd.conf (Libraries / WebServer / Documents), ale w innym katalogu (/ usr / local / apache2 / htdocs). Nigdzie nie widzę wspomnianego folderu w httpd.conf. Co więcej, PHP działa, ale linia „LoadModule php5_module” jest skomentowana. To sprawia, że myślę, że używa innego pliku .conf. Jak mogę dowiedzieć się, która konfiguracja faktycznie jest ładowana?
Aktualizacja: Właśnie usunąłem, że httpd.conf i apache zachowują się tak samo po restarcie, więc na pewno go nie użyłem!
źródło
/usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/apache2/httpd_server_app.conf -D WEBSERVICE_ON
Jest inny ServerFault pytanie o to . Jeśli korzystasz z serwera opartego na Debianie, możesz
apache2ctl
określić, który plik konfiguracyjny jest używany:Więcej na ten temat:
Jak dowiedzieć się, który serwer httpd.conf używa w czasie wykonywania
źródło
Próbować
i powinieneś (może) otrzymać wynik jak
Dodatkowo, jak dokładnie restartujesz serwer? Po prostu ciekawi w przypadku, gdy nie są jakoś faktycznie ponownego odczytu pliku konfiguracyjnego.
źródło
-f
flagiPonieważ niektóre konfiguracje używają aplikacji Server, brew lub cokolwiek innego, i ponieważ jeden liniowiec FTW:
To polecenie wykonuje następujące czynności:
Testowane na Sierra i El Capitan
źródło
$
to ważne (w tym przypadku nie jest to wiersz polecenia). Jeśli konwertuje instrukcję w parens na polecenie, do którego przekazujemy-V
flagę. Pozostawienie go powoduje: „błąd składni w pobliżu nieoczekiwanego tokena` -V '”.Najpierw sprawdź, który jest skrypt startowy dla Apache. W systemie macOS powinien to być / Library / LaunchDaemons. Może to obejmować katalog roboczy lub podobne informacje.
Możesz również debugować sam uruchomiony proces za pomocą narzędzia dtruss. Możesz połączyć się z uruchomionym procesem za pomocą
dtruss -p <pid>
. Następnie, jeśli HUP to, prawdopodobnie możesz poruszyć wyjście, aby zobaczyć, skąd pobiera swoją konfigurację. Alternatywnie, po prostu uruchom Apache, dzwoniąc bezpośrednio do dtrussdtruss start_apache_command
.Zawsze możesz po prostu przeprowadzić ogólnosystemowe wyszukiwanie httpd.conf za pomocą
find / -name httpd.conf
.źródło