You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django Celery无法访问另一台树莓派上的Redis服务求助

解决Redis保护模式导致Celery无法连接的问题

1. 确保Redis配置修改已生效

树莓派的Redis配置文件默认路径为/etc/redis/redis.conf,修改配置后必须重启Redis服务才能让变更生效,执行命令:

sudo systemctl restart redis-server

验证配置是否生效,在树莓派终端执行:

redis-cli CONFIG GET protected-mode
redis-cli CONFIG GET bind

确认返回结果分别为"no"(对应protected-mode no)和""(取消所有bind配置的情况),或包含你的本地电脑IP192.168.0.11。

2. 检查树莓派防火墙规则

树莓派默认可能启用了ufw防火墙,需放行Redis的6379端口:

sudo ufw allow 6379/tcp
sudo ufw reload

可临时关闭防火墙测试是否是拦截问题:

sudo ufw disable

若关闭后能正常连接,说明防火墙是核心阻碍。

3. 验证端口连通性

在本地电脑终端用工具测试树莓派Redis端口是否可访问:

# 用telnet测试
telnet 192.168.0.21 6379
# 或用nc测试
nc -zv 192.168.0.21 6379

若连接失败,说明端口未对外开放,需回到Redis配置或防火墙规则排查。

4. 确认Redis监听状态

在树莓派上执行命令,检查Redis是否监听了正确的网卡:

netstat -tulpn | grep redis

确保输出显示Redis监听0.0.0.0:6379(允许所有网卡访问)或192.168.0.21:6379,而非仅监听回环地址127.0.0.1:6379。

5. 检查Celery配置准确性

确认Django项目settings.py中的配置无拼写或格式错误,建议加上数据库编号(默认0库):

CELERY_BROKER_URL = 'redis://192.168.0.21:6379/0'
CELERY_RESULT_BACKEND = 'redis://192.168.0.21:6379/0'

内容的提问来源于stack exchange,提问作者CutePoison

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 12:12:24