localhost не працює на OS X Yosemite


11

У мене працює локальний сервер 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

Будь-яка ідея, чому це не працює? Апаш слухає якийсь інший порт? Якщо так, як це зробити? У мене є місцеві vhosts, які повинні бути доступні деякими локальними .devвіртуальними хостами, які я додав у свій файл хостів. Наприклад, 127.0.0.1 home.devале вони також дають помилку вище.

Редагувати

Здається, нічого не слухають на порту 80. Коли я запускаю, sudo lsof -iTCP:80 -sTCP:LISTENя не отримую вихідних даних. Здається, Apache працює, але я apachectlбагато разів запускав перезапуск.


чи можете ви перевірити, чи працює ваш веб-сайт із цим інструментом; clickontyler.com/web-sharing
siniradam

Ваш localhostпрацює прекрасно. Apache - ні. Оновіть своє запитання, щоб представити цей факт, і не забудьте включити відповідні біти вашої конфігурації Apache та її файлів журналу.
Даніель Б

У мене була подібна проблема, і я зміг її вирішити: stackoverflow.com/questions/26454160/…
Xaver

Нормальний спосіб зробити це на Mavericks / Yosemite - це перехід вперед від порту 80 до порту 8080. Див. Gist.github.com/mindw0rk/dcc6c02a92b49bde0f13 для прикладу того, як налаштувати це за допомогою pfctl, а потім змінити конфігурацію apache на використання Слухайте 8080. Ви зможете підключитися до порту 80 і трафік буде переадресовано на apache. (у нашому магазині розробників усі користуються цим налаштуванням, крім nginx)
bazzargh

Відповіді:


11

Перевірте конфігурацію Apache за допомогою цієї команди:

sudo apachectl -t

Це тестує конфігураційні файли та повідомляє, чи є помилка. Запуск sudo apachectl startз певних причин не виводить помилки синтаксису конфігураційного файлу в журнали.


Точна проблема тут. sudo apachectl -tповертає Syntax OK. Що потім?
Pmpr

2

Ця команда повинна сказати вам, на якому порту та в якій IPv (4/6) адресі слухає ваш Apache:

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

Якщо нічого не слухати, що ви отримуєте від цього?

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

.

Нарешті:

sudo serveradmin stop web

Відкрийте Console.app і поставте закладку

sudo serveradmin start web

Перевірте журнали


Виникла проблема конфігураційного файлу, яка не дозволила Apache запуститися взагалі! Кешовані сторінки змусили мене повірити, що він працює для localhost, але не для мого локального IP.
harryg

Добре, круто, серверradmin тригер httpd і, як правило, створює журнали запуску, чи вдалося ви вирішити проблему? що таке повідомлення про помилку plz (для інших учасників)?
Флоріан Бідабе

Так, це вирішено. Я забув коментувати модуль apache vhosts, тому Apache потрапив у помилку, побачивши VirtualDocumentRouteв моєму конфігураційному файлі vhosts.
harryg

2
ей, Харріг, якщо у тебе є можливість оновити статус до вирішення.
Флоріан Бідабе

У мене виникло це питання і мовчазна збій при запуску апачі. Нічого в журналах, через синтаксичну помилку в налаштуваннях. Ця команда викрила його:sudo apachectl -t
Метт Гібсон

0

Я вважаю, що типовим портом є 8080, але ви можете перевірити файл httpd.conf на порти, які слухає Apache.


8080 не працює, і в моєму конфігураційному файлі є «Прослухати 80».
harryg

Ви можете бачити, як Apache працює, можливо, "ps aux"? Також чи показує журнал помилок щось? Місце за замовчуванням має бути / var / log / apache2 / error_log

який вихід netstat -tulpn | grep :80?
sardean
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.