Не удалось подключиться к хосту memcache!

16

Я совершенно новичок в memcached! Я успешно установил и запустил memcached с этой командой на моем хосте A (Ip 192.168.1.102)

memcached -u memcached -d -m 30 -l 127.0.0.1 -p 11211

Я также добавляю эти записи в iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 11211 -j ACCEPT

перезапустил службу iptables и прослушал порт 11211

телнет тоже работает!

telnet localhost 11211

Попытка 127.0.0.1 ... Подключен к localhost. Escape-символ '^]'.

Но я подключаюсь к этому хосту A с хоста B (IP 192.168.1.103) с помощью этого скрипта memcached_test.php

<?php
$memcache = new Memcache;
$memcache->connect('192.168.1.102', 11211) or die ("Could not connect");

$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";

$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";

var_dump($get_result);
?>

Когда я просматривал этот скрипт на сервере на хосте B (192.168.1.103). Я получил эту ошибку

Предупреждение: Memcache :: connect () [memcache.connect]: невозможно подключиться к 192.168.1.102:11211, соединение отказано (111) в /var/www/memcache_test.php в строке 3 Не удалось подключиться

Подскажите пожалуйста как решить эту проблему!

billyduc
источник

Ответы:

15
# memcached -u memcached -d -m 30 -l 127.0.0.1 -p 11211

Вы заметите, что есть " -l 127.0.0.1" в вашей командной строке. Это говорит memcached только о прослушивании интерфейса lo. Если вы хотите получить к нему доступ с удаленного компьютера, вам необходимо удалить эту часть командной строки.

Дэвид Пашли
источник
Большое спасибо ... Я заменил 127.0.0.1 на 192.168.1.102 и теперь он работает!
Billyduc