2013-05-14 60 views
4

我在独立的数据库服务器(ec2实例)上安装了redis。它已被正确安装和配置。 现在我想要做的就是从我的网络服务器,我连接到它,并对其关键值存储进行更改。使用redis-py(通过redis的python包装)与远程redis服务器通话

我有一个在heroku上运行的python/django应用程序,我使用的是PostgreSQL的其他一切,我使用redis来存储KV集合中的一些临时变量。

现在,我在本地服务器和网络服务器上安装https://github.com/andymccurdy/redis-py

要测试连接,并检查是否一切正常顺利,我尝试在我的环境如下:

>>> pool = redis.ConnectionPool(host='MY_DBSERVER_IP_ADDRESS', port=6379, db=0) 
>>> r = redis.Redis(connection_pool=pool) 
>>> r.set('foo', 'bar') 

这给了我一个错误 - ConnectionError: Error 111 connecting 54.235.xxx.xxx:6379. Connection refused.

如何连接?我错过了什么?

+0

试一试,看是否可以通过telnet访问远程服务器:在终端 – Oin 2013-05-14 09:08:47

+0

'平xxx.xxx只是做“远程登录MY_DBSERVER_IP PORT”。 xxx.xxx 6379' PING 6379(0.0.24.235)56(124)字节的数据。 ^ C --- 6379 ping statistics --- 32个数据包传输,0个接收,100%数据包丢失,时间31081ms – user1629366 2013-05-14 09:55:58

+0

所以这是你的问题。 – Oin 2013-05-14 12:04:44

回答

4

默认情况下,配置被设置为只绑定到127.0.0.1 你只需要找到你的配置(Ubuntu上的/etc/redis/redis.conf)并注释掉绑定127.0.0.1行。

2

所以我落得这样做,除去取消注释bind 127.0.0.1bind 0.0.0.0

+0

那么你应该接受William K的答案。 – 2013-05-14 16:01:24

+0

@TheRealBill完成:-) – user1629366 2013-05-14 17:48:38