Redis和Django -使用localhost redis,在另一个主机上使用redis时管道破裂

polhcujo  于 7个月前  发布在  Redis
关注(0)|答案(1)|浏览(102)

我正在运行Django的本地开发环境,并将DB(MariaDB),RabbitMQ和Redis等服务分离到另一个主机示例上。
一切都在按预期进行
除了Redis,Django抛出了.:

python3.11/site-packages/redis/connection.py", line 446, in send_packed_command
    raise ConnectionError(f"Error {errno} while writing to socket. {errmsg}.")
redis.exceptions.ConnectionError: Error 32 while writing to socket. Broken pipe.
ERROR:django.request: Internal Server Error: / (2023-11-09 07:29:04; log.py:224)

字符串
但是,如果我配置Django使用localhost redis-server示例,它可以正常工作。
另一台主机上的redis示例可以被django服务器访问,也就是说,我可以从django服务器使用redis-cli -h devservices.orb.local连接到它(如果相关的话,我使用OrbStack提供服务器主机)。

oewdyzsn

oewdyzsn1#

我们需要先看看Redis的配置,但我想这会解决问题:请验证Redis配置文件(redis.conf)中的绑定配置是否正确。默认情况下,Redis配置为仅接受来自localhost的连接。您需要将其设置为0.0.0.0以接受来自其他主机的连接,或者将其设置为Django服务器的特定IP。

相关问题