Django 开发服务器显示错误 61 Connection Refused with Redis
Posted
技术标签:
【中文标题】Django 开发服务器显示错误 61 Connection Refused with Redis【英文标题】:Django development server showing Error 61 Connection Refused with Redis 【发布时间】:2016-10-12 04:25:34 【问题描述】:我正在尝试按照教程阅读 Django Channels 的文档。在settings.py
文件中,我尝试使用以下代码将内存 BACKEND 更改为 redis 后端:
CHANNEL_LAYERS =
"default":
"BACKEND": "asgi_redis.RedisChannelLayer",
"CONFIG":
"hosts": [("localhost", 6379)],
,
"ROUTING": "chan.routing.channel_routing",
,
但是,当我这样做时,运行runserver
命令的控制台显示以下错误:
ConnectionError: Error 61 connecting to localhost:6379. Connection refused.
我该如何解决这个问题?
【问题讨论】:
如果您在终端中输入redis-cli
,是否允许您建立连接? ping
命令,也许吧?如果是 0k,请尝试使用 127.0.0.1 而不是 localhost
。
没有。它说找不到命令。但是在 shell 中我可以做到import redis
, print redis.Redis("localhost")
这给了我Redis<ConnectionPool<Connection<host=localhost,port=6379,db=0>>>
。
您应该从答案中发布的指南重新安装 redis。这是异常行为,未找到 redis-cli
,因为它是标准 dist 的一部分。
看来你还没有真正安装redis服务器。
所做的只是安装 redis 客户端库。服务器不是 Python,不能通过 pip 安装。得到它here。
【参考方案1】:
请确定您的系统上是否安装了 redis 并且它正在运行。 要检查 redis 是否正在运行,请使用
redis-cli
然后它会带你到redis控制台,然后如果你输入ping
它会返回PONG
redis是否正在运行。
如果你的系统中没有redis,请访问Redis Quick Start.
对于 Mac OS X:转到终端并输入 brew install redis
。
【讨论】:
我做了pip install asgi_redis
,它在我的 virtualenv 中安装了 Redis。我应该像 Redis 官网所说的那样从源代码安装吗?
它不是安装在virtualenv中,而是以root身份安装,尝试wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
redis-server
【参考方案2】:
这对我有用:
redis-server
很简单
【讨论】:
以上是关于Django 开发服务器显示错误 61 Connection Refused with Redis的主要内容,如果未能解决你的问题,请参考以下文章