【问题标题】:Django development server showing Error 61 Connection Refused with RedisDjango 开发服务器显示错误 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

标签: django redis channels


【解决方案1】:

请确定您的系统上是否安装了 redis 并且它正在运行。 要检查 redis 是否正在运行,请使用

 redis-cli

然后它会带你到redis控制台,然后如果你输入ping它会返回PONGredis是否正在运行。

如果你的系统中没有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.gztar xvzf redis-stable.tar.gzcd redis-stablemakeredis-server
【解决方案2】:

这对我有用:

redis-server

很简单

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 2017-01-13
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多