¡No se pudo conectar al host memcache!

16

Soy totalmente nuevo en memcached! Instalé con éxito y comencé memcached con este comando en mi host A (Ip 192.168.1.102)

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

También agrego estas entradas a 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

reinició el servicio de iptables y escuchó el puerto 11211

telnet también funciona!

telnet localhost 11211

Intentando 127.0.0.1 ... Conectado a localhost. El carácter de escape es '^]'.

Pero me conecto a este host A desde el Host B (IP 192.168.1.103) con este script 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);
?>

Cuando busco este script en el servidor en el host B (192.168.1.103). Recibí este error

Advertencia: Memcache :: connect () [memcache.connect]: No se puede conectar a 192.168.1.102:11211, Conexión rechazada (111) en /var/www/memcache_test.php en la línea 3 No se pudo conectar

¡Por favor dime cómo resolver este problema!

billyduc
fuente

Respuestas:

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

Notará que hay " -l 127.0.0.1" en su línea de comando. Esto le dice memcached que solo escuche en la interfaz lo. Si desea acceder desde una máquina remota, debe eliminar esta parte de la línea de comando.

David Pashley
fuente
muchas gracias ... Reemplazo 127.0.0.1 con 192.168.1.102 y ahora funciona!
billyduc