2013-05-14 61 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