我已经创建了一个到我的 memcached 服务器的 SSH 隧道,如下所示:
ssh -f -N [email protected] -L 11211:127.0.0.1:11211
当我在我的机器上执行 netstat 时,我得到以下信息:到目前为止看起来不错。
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 976/ssh
当我通过 telnet 连接到服务器时,出现以下问题:
telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
channel 2: open failed: connect failed: Connection refused
Connection closed by foreign host.
因此我去了 memcached 服务器并跟踪了 auth.log 文件,并在尝试 telnet 到服务器时发现了此消息:
Apr 4 13:56:06 vmcachd sshd[1410]: error: connect_to 127.0.0.1 port 11211: failed.
有人知道问题是什么吗?我有一个类似的 postgresql 设置,它运行得很好!任何帮助都非常感谢。
谢谢
答案1
做一个:
ssh -f -N [email protected] netstat -putan
应该会显示一些正在监听 127.0.0.1:11211(或 0.0.0.0:11211)的内容,检查“本地地址”列
如果您看到其他内容(例如在另一个界面中监听),则有两个选项:
- 您更改隧道以侦听该接口,即:
ssh -f -N [email protected] -L 11211:192.168.3.106:11211
- 让 memcache 监听 127.0.0.1 即:你用它启动服务
memcached -l 127.0.0.1
(或者它在 ubuntu/debian 中对应的 /etc/default/memcached)
答案2
感谢您的帮助,我通过重新安装最新的 Centos 7 操作系统和最新的 memcache 服务器解决了这个问题,现在一切都运行正常。之前我的 memcache 服务器运行在旧版本的 Debian 6.0.6/squeeze 上,不确定这是否与此有关,但重新安装最新的操作系统肯定解决了我的问题。