如何从另一台计算机连接到memcached


22

我正在尝试从另一台计算机(可以访问我的服务器)使用memcached,但是我不知道怎么做。

在memcached机器上,我可以通过运行来测试连接

telnet 127.0.0.1 port

它可以工作,但是在另一台机器上,它只是一直尝试连接

telnet machine_address port
Trying machine_address...

我不确定是否应该设置其他东西使其正常工作。我知道该端口正在运行并且可以访问,因为如果我尝试在该端口上运行其他服务,它们将起作用。

操作系统是Ubuntu


我的虚拟机遇到同样的问题,telnet返回“连接被拒绝”。memcache计算机中的本地telnet可以正常工作。在iptables中添加了一个明确的规则以允许11211端口,没有骰子,在路由器中添加了一条规则,以允许端口,没有骰子...
Purefan

Answers:


25

在/etc/memcached.conf中:

# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 127.0.0.1

更改为

-l 0.0.0.0

然后重启memcached。


不幸的是,这没有用。
奥斯卡(Oscar Del Ben

1
检查netstat -ln4tthen 的输出,以查看它是否正在侦听127.0.0.1:11211或0.0.0.0:11211。
Majenko 2011年

输出为0.0.0.0:*
Oscar Del Ben

令人尴尬的是我花了多长时间才弄清楚这一点。感谢@Majenko
Ascherer

@Majenko你在说什么Local Address
chanchal118 '16

3

编辑中的-l/etc/memcached.conf。这是您的启动选项存储的位置。

以下行将允许memcached侦听所有接口:

sudo sed 's/-l/#-l/' /etc/memcached.conf && sudo service memcached restart

0

有两种基本可能性:

  • 您已将memcached实例设置为仅在本地环回接口上进行侦听-您可以在netstat -l输出中进行检查。
  • 您已将iptables防火墙设置为拒绝所有传入连接,但明确允许的连接除外。

我看到nestat和iptables都允许使用该端口。在ip表中读取tcp dpt:11211
Oscar Del Ben
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.