localhost nie działa na OS X Yosemite

11

Mam uruchomiony lokalny serwer Apache mojego Maca a kiedy odwiedzam localhost, otrzymuję standardową stronę „To działa”.Strona „To działa” została buforowana - w rzeczywistości jest uszkodzona tak samo jak 127.0.0.1. Kiedy odwiedzam 127.0.0.1, chrom daje mi jednak Error code: ERR_CONNECTION_REFUSED. Więc prowadziłem telnet. Wynik:

harryg$ telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host

Ale scutildaje to:

harryg$ scutil -r localhost
Reachable,Local Address,Directly Reachable Address

Wiesz, dlaczego to nie działa? Czy apache nasłuchuje na innym porcie? Jeśli tak, jak to sprawdzić? Mam kilka lokalnych .devhostów vhost, które powinny być dostępne dla niektórych lokalnych hostów wirtualnych, które dodałem do mojego pliku hosts. Np. 127.0.0.1 home.devOni też podają powyższy błąd.

Edytować

Wygląda na to, że nic nie nasłuchuje na porcie 80. Po uruchomieniu sudo lsof -iTCP:80 -sTCP:LISTENnie otrzymuję żadnych danych wyjściowych. Wygląda na to, że Apache działa - apachectlwiele razy uruchomiłem restart.

harryg
źródło
czy możesz sprawdzić, czy Twój udział w sieci działa z tym narzędziem; clickontyler.com/web-sharing
siniradam
Twój localhostdziała idealnie dobrze. Apache nie jest. Zaktualizuj swoje pytanie, aby przedstawić ten fakt i nie zapomnij dołączyć odpowiednich bitów konfiguracji Apache i jej plików dziennika.
Daniel B
Miałem podobny problem i byłem w stanie go rozwiązać: stackoverflow.com/questions/26454160/...
Xaver,
Normalnym sposobem, aby to zrobić w Mavericks / Yosemite, jest przekierowanie portu z portu 80 na port 8080. Zobacz gist.github.com/mindw0rk/dcc6c02a92b49bde0f13, aby dowiedzieć się, jak skonfigurować to za pomocą pfctl, a następnie zmień konfigurację apache Posłuchaj 8080. Będziesz mógł połączyć się z portem 80, a ruch zostanie przekierowany do apache. (w naszym sklepie
deweloperskim

Odpowiedzi:

11

Sprawdź konfigurację Apache za pomocą tego polecenia:

sudo apachectl -t

Testuje to pliki konfiguracyjne i informuje o błędzie. Z sudo apachectl startjakiegoś powodu uruchomione narzędzie nie wysyła do dzienników błędów składni pliku konfiguracyjnego.

Matt Gibson
źródło
Dokładnie ten sam problem tutaj. sudo apachectl -tzwraca Syntax OK. Co wtedy?
Pprpr
2

To polecenie powinno powiedzieć ci, na którym porcie i na którym adresie IPv (4/6) nasłuchuje Apache:

sudo lsof -P -n -iTCP -sTCP:LISTEN | grep httpd

Jeśli nic nie słucha, co z tego zyskujesz?

sudo serveradmin status web
sudo serveradmin settings web
ps -acx | grep http

.

W ostateczności:

sudo serveradmin stop web

Otwórz Console.app i umieść zakładkę

sudo serveradmin start web

Sprawdź dzienniki

Florian Bidabe
źródło
Wystąpił problem z plikiem konfiguracyjnym, który w ogóle uniemożliwił uruchomienie Apache! Strony z pamięci podręcznej doprowadziły mnie do wniosku, że działa dla localhost, ale nie dla mojego lokalnego adresu IP.
harryg
Ok fajnie, serveradmin wyzwala httpd i generuje dzienniki uruchamiania, czy byłeś w stanie rozwiązać problem? jaki jest komunikat o błędzie plz (dla innych członków)?
Florian Bidabe
Tak, rozwiązane. Zapomniałem odkomentować moduł vhosts Apache, więc Apache natrafił na błąd, gdy zobaczył VirtualDocumentRoutew moim pliku konfiguracyjnym vhosts.
harryg
2
hej harryg, jeśli masz szansę zaktualizować status do rozwiązania.
Florian Bidabe,
Miałem ten problem i cichą awarię podczas uruchamiania apache. Nic w logach, z powodu błędu składniowego w konfiguracji. Pojawiło się to polecenie:sudo apachectl -t
Matt Gibson
0

Domyślam się, że domyślnym portem jest 8080, ale możesz sprawdzić plik httpd.conf dla portów, na których nasłuchuje Apache.


źródło
8080 nie działa, a mój plik konfiguracyjny zawiera Listen 80.
harryg
Czy widzisz działającego Apache'a, być może z „ps aux”? Czy dziennik błędów pokazuje coś? Domyślna lokalizacja to / var / log / apache2 / error_log
Jaka jest wydajność netstat -tulpn | grep :80?
sardean