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 scutil
daje 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 .dev
hostó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.dev
Oni 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:LISTEN
nie otrzymuję żadnych danych wyjściowych. Wygląda na to, że Apache działa - apachectl
wiele razy uruchomiłem restart.
localhost
dział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.Odpowiedzi:
Sprawdź konfigurację Apache za pomocą tego polecenia:
Testuje to pliki konfiguracyjne i informuje o błędzie. Z
sudo apachectl start
jakiegoś powodu uruchomione narzędzie nie wysyła do dzienników błędów składni pliku konfiguracyjnego.źródło
sudo apachectl -t
zwracaSyntax OK
. Co wtedy?To polecenie powinno powiedzieć ci, na którym porcie i na którym adresie IPv (4/6) nasłuchuje Apache:
Jeśli nic nie słucha, co z tego zyskujesz?
.
W ostateczności:
Otwórz Console.app i umieść zakładkę
Sprawdź dzienniki
źródło
VirtualDocumentRoute
w moim pliku konfiguracyjnym vhosts.sudo apachectl -t
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
netstat -tulpn | grep :80
?