Verbindung zum Memcache-Host fehlgeschlagen!

16

Ich bin völlig neu in memcached! Ich habe mit diesem Befehl auf meinem Host A (Ip 192.168.1.102) erfolgreich ein Memcached installiert und gestartet.

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

Ich füge diesen Eintrag auch zu iptables hinzu

-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-Dienst neu gestartet und Port 11211 abgehört

telnet funktioniert auch!

telnet localhost 11211

Versuch 127.0.0.1 ... Verbunden mit localhost. Escape-Zeichen ist '^]'.

Aber ich verbinde mich mit diesem Skript memcached_test.php von Host B (IP 192.168.1.103) zu diesem Host A

<?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);
?>

Wenn ich dieses Skript im Server auf Host B (192.168.1.103) browse. Ich habe diesen Fehler erhalten

Warnung: Memcache :: connect () [memcache.connect]: Verbindung zu 192.168.1.102:11211 kann nicht hergestellt werden, Verbindung verweigert (111) in /var/www/memcache_test.php in Zeile 3 Konnte nicht hergestellt werden

Bitte sagen Sie mir, wie Sie dieses Problem lösen können!

billyduc
quelle

Antworten:

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

Sie werden feststellen, " -l 127.0.0.1" dass sich in Ihrer Befehlszeile etwas befindet. Dies bedeutet, dass memcached nur die lo-Schnittstelle abgehört werden soll. Wenn Sie von einem Remotecomputer aus darauf zugreifen möchten, müssen Sie diesen Teil der Befehlszeile entfernen.

David Pashley
quelle
vielen dank ... ich ersetze 127.0.0.1 durch 192.168.1.102 und jetzt funktioniert es!
billyduc