У меня работает локальный сервер Apache моего Mac и когда я посещаю localhost, я получаю стандартную страницу «Это работает».Страница "Это работает" была кэширована - она фактически сломана так же, как 127.0.0.1. Когда я посещаю 127.0.0.1, однако хром дает мне Error code: ERR_CONNECTION_REFUSED
. Итак, я побежал telnet
. Результат:
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
Но scutil
дает это:
harryg$ scutil -r localhost
Reachable,Local Address,Directly Reachable Address
Есть идеи, почему это не работает? Apache прослушивает какой-то другой порт? Если так, как я могу проверить? У меня есть несколько локальных vhosts, которые должны быть доступны для некоторых локальных .dev
виртуальных хостов, которые я добавил в мой файл hosts. Например, 127.0.0.1 home.dev
они тоже дают ошибку выше.
редактировать
Кажется, ничего не слушает порт 80. Когда я запускаю, sudo lsof -iTCP:80 -sTCP:LISTEN
я не получаю вывод. Кажется, что работает Apache - я запускал apachectl
restart` много раз.
localhost
работает отлично. Apache нет. Обновите свой вопрос, чтобы представить этот факт, и не забудьте включить соответствующие биты вашей конфигурации Apache и его файлы журналов.Ответы:
Проверьте конфигурацию Apache с помощью этой команды:
Это проверяет файлы конфигурации и сообщает вам, если есть ошибка. Запуск
sudo apachectl start
не выводит синтаксические ошибки файла конфигурации в журналы по некоторым причинам.источник
sudo apachectl -t
возвращаетсяSyntax OK
. Что тогда?Эта команда должна сказать вам, какой порт и какой IPv (4/6) адрес слушает ваш Apache:
Если вы ничего не слушаете, что вы получаете от этого?
,
В крайнем случае:
Откройте Console.app и разместите закладку
Проверьте логи
источник
VirtualDocumentRoute
в моем файле конфигурации vhosts.sudo apachectl -t
Я считаю, что порт по умолчанию - 8080, но вы можете проверить файл httpd.conf на наличие портов, которые прослушивает Apache.
источник
netstat -tulpn | grep :80
?