Я разрабатываю с использованием django/postgresql на Mac OS X 10.7 и внезапно не могу получить доступ к тестовому серверу черезhttp://localhost:8000/. Я могу заставить его слушать на 0.0.0.0:8000, и тогда это работает...
Затем я заметил проблемы с запуском SABnzbd. Всякий раз, когда я пытаюсь его запустить, он умирает и выключается. В журналах показано
IOError: Port 8080 not bound on '127.0.0.1'
запуск netstat -an | grep 8080
показывает, что на самом деле порт 8080 никто не прослушивает.
Затем я попробовал telnet и ping localhost. Ни то, ни другое не работает. Когда я telnet, я получаю:
$ telnet localhost
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
и он просто висит там.
При попытке выполнить ping я получаю следующее:
$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Странно, но когда я подключаюсь по telnet к порту 80, все работает!
$ telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Мой /etc/hosts
файл выглядит нормально:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
Есть ли способ исправить эту проблему или проще всего будет просто стереть все и начать заново?
решение1
Большинство брандмауэров сейчас блокируют ping-запросы, в моей установке OSX Lion такое поведение было по умолчанию.
Попробуйте перейти наhttp://localhost:80если вы можете подключиться к порту 80, и посмотрите, что работает на этом порту. Также посмотрите на настройки общего доступа — раньше была функция общего доступа к веб-сайту, и она могла использовать порт 80.
Также попробуйте подключиться через Telnet к localhost:8080 и проверьте, сможете ли вы подключиться (если сможете, значит, этот порт использует другое приложение).
Попробуйте открытьhttp://localhost:8080затем в своем браузере попытайтесь выяснить, какая программа работает на этом порту.
решение2
В некоторых случаях это вызвано проблемами кодировки текста; /etc/hosts выглядит нормально, но на самом деле имеет неправильную кодировку. СмотритеMac OS X Mountain Lion не может ping/telnet localhost. Укажите неправильный публичный IP