2011-01-31 2 views
1

Я запускаю memcached, но не могу подключиться. Как мне начать отлаживать это? Кажется, что-то мешает мне подключиться.Не удается подключиться к серверу memcached на localhost, как отлаживать?

ps -elf | grep memcached 0 S lee 10744 529 0 80 0 - 30529 ep_pol 03:36 pts/22 00:00:00/usr/bin/memcached -m 512 -p 11211 -u nobody -l 127.0.0.1

(Memcached определенно работает)

Но когда я пытаюсь подключиться к telnet, я получаю таймаут.

телнет 127.0.0.1 11211 Попытка 127.0.0.1 ... телнет: Невозможно подключиться к удаленному хосту: Тайм-аут соединения

Любые советы будут оценены.

+1

Ваш брандмауэр работает? –

ответ

2

Убедитесь, что сетевой сетевой интерфейс локальной петли работает. Похоже, вы используете систему Unix, поэтому я бы рекомендовал запустить /sbin/ifconfig, чтобы увидеть, включен ли раздел с меткой lo с IP-адресом (помечен как inet addr) 127.0.0.1. Если нет, запустите ifdown lo, тогда ifup lo, это должно получиться. Прочтите файл /etc/hosts, чтобы убедиться, что имя localhost или имя вашего компьютера связано с 127.0.0.1. И если ваша машина использует ipchains или iptables, убедитесь, что они настроены на пропуск трафика до 127.0.0.1 от 127.0.0.1.

Все эти вещи в порядке в 99% случаев, но неспособность подключиться к локальному хосту действительно нечетна, поэтому проверка работоспособности в порядке.

+1

В качестве другой проверки работоспособности убедитесь, что конфигурация memcached не изменилась. Похоже, что 11211 - это порт по умолчанию, но, возможно, кто-то изменил это на вас. Однако такая неправильная конфигурация обычно вызывает сообщение об ошибке Connect вместо сообщения о времени ожидания подключения. –

+0

В качестве второй проверки здравомыслия, убедитесь, что ваш etc/hosts имеет запись для localhost («127.0.0.1 \t localhost»). Моя инженерная команда все еще катится по земле, смеясь после того, как я случайно опустошил конфигурацию моих хостов, вставляя документацию в блокнот. – Deborah

0

Убедитесь, что брандмауэр не включен. В моем случае я нашел следующие данные для iptables:

target  prot opt source    destination 
ACCEPT  tcp -- example.com.internal anywhere    tcp dpt:11211 
ACCEPT  udp -- example.com.internal anywhere    udp dpt:11211 
DROP  tcp -- anywhere    anywhere    tcp dpt:11211 
DROP  udp -- anywhere    anywhere    udp dpt:11211 

Они позволяют подключать только от example.com.internal и отрицать из любых других, в том числе localhost. Чтобы исправить это, я добавил специальное правило для localhost:

ACCEPT  tcp -- localhost    anywhere    tcp dpt:11211 
ACCEPT  udp -- localhost    anywhere    udp dpt:11211