服务器A使用memcached,服务器B需要使用memcached。如果我让 memcached 对所有 ip 开放(默认),服务器 B 可以:
telnet server.a.etc 11211
然后进入。如果我 ping 服务器 B,我会得到一个 IP,153.353.234.23(示例),然后我将其放入我的 memcached 选项中
OPTIONS="-l 153.353.234.23"
重新启动,现在服务器 b 无法再通过 telnet 连接。我认为这是因为它可能为此连接使用不同的 IP 地址?还有其他错误吗?不管怎样,我希望能够在服务器 B 连接时看到它的 IP。
我启用了 memcached 日志记录
-vvv >var/log/memcached.log 2>&1
我看到生成了日志,但没有看到连接机器的 IP 地址。
最佳答案
使用 memcached -l,您将指示 memcached 服务器绑定(bind)到服务器的特定 IP 地址。如果您希望 memcached 接受服务器节点上特定 IP 或网络接口(interface)上的数据,这非常有用。 您可以保留默认值,使 memcached 绑定(bind)到服务器的任何 IP 地址(IPv4 上为 0.0.0.0)。
我认为memcached没有用于登录源IP的命令开关。 您可以使用命令
netstat -natp | grep 11211 | grep ESTABLISHED
在 Linux 系统上获取与 memcached 建立的连接以及客户端的 IP。
关于linux - 如何使用 telnet 获取外部连接的 IP,或者可能是 memcached 允许的 ip 的配置错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9760725/