ubuntu – Redis – 连接到远程服务器

前端之家收集整理的这篇文章主要介绍了ubuntu – Redis – 连接到远程服务器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚使用在我的Ubuntu 10.10服务器 http://redis.io/topics/quickstart快速入门指南上的说明成功地安装Redis。我运行的服务作为dameon(所以它可以运行init.d)

服务器是具有内部和外部IP的Rackspace群集的一部分。主机运行在端口6379(Redis的标准)

我在iptables中添加了一行,以允许来自端口6379的传入连接,如下所示:

ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:6379

在我的另一台服务器上的PHP代码,我试图连接到新的Redis服务器在这里:

$this->load->helper("iredis");

$hostname = "IP ADDRESS HERE";

$redis = new iRedis(array('hostname' => $hostname,'port' => 6379));

一旦我这样做 – 我总是得到一个连接拒绝。在我的redis.conf文件中,我有本地绑定命令注释掉,因此它应该监听的比localhost IP多。我可以连接到本地机器上的数据库,而不是在另一台服务器上。我试过外部和内部IPs没有运气。

任何建议,使这工作?

首先,我检查,以验证它正在侦听您希望它的IP:
netstat -nlpt | grep 6379

根据你如何启动/停止你可能没有实际重新启动实例,当你以为你有。 netstat会告诉你是否正在听你认为它在哪里。如果没有,请重新启动它,并确保它重新启动。
如果它重新启动,仍然不在你期望的地方,检查你的配置文件只是为了确保。

建立后,它正在侦听你期望它,从一个应该有访问的远程节点尝试:

redis-cli -h REMOTE.HOST ping

您也可以尝试从本地主机,但使用您期望它正在侦听的IP,而不是主机名或本地主机。你应该看到它在这两种情况下的响应。

如果没有,你的防火墙阻止你。这将是本地IPTables或可能是节点之间的防火墙。您可以向IPtables配置添加日志语句以记录6379上的连接,以查看正在发生的情况。此外,尝试他从本地和非本地重新ping到相同的IP应该是说明性的。如果它是本地响应但不是远程响应,我会倾向于一个干预防火墙,这取决于您的节点IP表规则的复杂性。

猜你在找的Ubuntu相关文章