memcacheホストへの接続に失敗しました!


16

私はmemcachedを初めて使用します!ホストAでこのコマンドを使用してmemcachedを正常にインストールおよび開始しました(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も動作します!

telnet localhost 11211

127.0.0.1を試行しています... localhostに接続しました。エスケープ文字は「^]」です。

しかし、このスクリプトmemcached_test.phpを使用して、ホストB(IP 192.168.1.103)からこのホスト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);
?>

ホストBのサーバー(192.168.1.103)でこのスクリプトを参照すると。このエラーを受け取りました

警告:Memcache :: connect()[memcache.connect]:192.168.1.102:11211に接続できません。3行目の/var/www/memcache_test.phpで接続が拒否されました(111)

この問題を解決する方法を教えてください!

回答:


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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.