Falha ao conectar-se ao host memcache!

16

Sou totalmente novo no memcached! Instalei e iniciei com sucesso memcached com este comando no meu host A (Ip 192.168.1.102)

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

Eu também adiciono essa entrada ao 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

reiniciou o serviço iptables e ouviu a porta 11211

telnet também funciona!

telnet localhost 11211

Tentando 127.0.0.1 ... Conectado ao host local. O caractere de escape é '^]'.

Mas eu me conecto a este host A do Host B (IP 192.168.1.103) com 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);
?>

Quando eu navegador este script no servidor no host B (192.168.1.103). Eu recebi esse erro

Warning: Memcache::connect() [memcache.connect]: Can't connect to 192.168.1.102:11211, Connection refused (111) in /var/www/memcache_test.php on line 3 Could not connect

Por favor, me diga como resolver esse problema!

    
por billyduc 10.09.2009 / 06:32

1 resposta

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

Você notará que há "-l 127.0.0.1" na sua linha de comando. Isso diz ao memcached para escutar apenas a interface. Se você quiser acessá-lo de uma máquina remota, você precisa remover esta parte da linha de comando.

    
por 10.09.2009 / 07:37

Tags