【问题标题】:pip- Redis with Django channelspip- 带有 Django 频道的 Redis
【发布时间】:2016-08-31 03:11:49
【问题描述】:

连接到 localhost:6379 时出错。由于目标机器主动拒绝,无法建立连接。

CHANNEL_LAYERS = {
  "default": {
    "BACKEND": "asgi_redis.RedisChannelLayer",
    "CONFIG": {
        "hosts": [("localhost", 6379)],
    },
    "ROUTING": "mysite.routing.channel_routing",
},

}

pip install asgi_redis 完成,我关注http://channels.readthedocs.io/en/latest/getting-started.html#running-with-channels

【问题讨论】:

  • 任何人...?在这方面仍然失败。
  • 你真的安装过Redis吗?运行了吗?

标签: django sockets channels django-channels


【解决方案1】:
# Channel layer definitions
# http://channels.readthedocs.org/en/latest/deploying.html#setting-up-a-channel-backend
CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "asgi_redis.RedisChannelLayer",
        "CONFIG": {
            "hosts": [os.environ.get('REDIS_URL', 'redis://localhost:6379')],
        },
        "ROUTING": "mysite.routing.channel_routing",
    },
}

我的 .env 将 redis url 设置为:redis://localhost:6379

确保您的机器中安装了 redis 实例。 尝试使用redis-cli ping 进行检查。如果您收到一条 pong 消息,则表示 redis 实例正在运行。

asgi-redis==0.13.1
redis==2.10.5

确保您的虚拟环境已安装这两个。 如果您使用的是 heroku,请检查您是否配置了 redis 实例。

【讨论】:

    【解决方案2】:

    按照相同的教程,我遇到了完全相同的问题。我通过单独安装 Redis 并在后台运行 redis-server 进程来修复它,以便通道可以连接到它。我在 Windows 上,所以我下载了这个version

    【讨论】:

    • 我试过安装它 - 当我打开 Redis 客户端时,出现的第一行说它也无法在 127:0:0:1:6379 连接到 Redis:未知错误 @Bram
    • 你应该导航到你安装 Redis 的文件夹,在那里你会找到一个名为 redis-server 的可执行文件,这就是你应该运行的。 redis 客户端只是一个尝试连接到 redis 服务器的客户端,但由于它没有运行,因此您无法连接。你不需要客户端,在这种情况下,Django 基本上就是客户端。
    猜你喜欢
    • 2018-06-09
    • 2020-11-28
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 2018-11-24
    • 1970-01-01
    • 2019-08-15
    • 2018-10-05
    相关资源
    最近更新 更多