Celery连接Redis报错Error 111:Connection refused问题求助
解决Celery连接Redis出现Error 111连接被拒绝的问题
1. 检查Redis服务状态
先确认Redis是否正在运行:
sudo systemctl status redis-server
若显示inactive,启动服务:
sudo systemctl start redis-server
设置开机自启避免重复问题:
sudo systemctl enable redis-server
2. 验证Redis端口监听情况
检查6379端口是否被Redis占用:
ss -tulpn | grep 6379
如果无输出,说明Redis未监听该端口。打开Redis配置文件(通常路径为/etc/redis/redis.conf),检查:
port配置是否为6379bind设置是否允许本地连接(如bind 127.0.0.1,或注释掉bind以允许所有IP,本地连接用127.0.0.1即可)
修改配置后重启Redis:
sudo systemctl restart redis-server
3. 核对Celery的Redis连接配置
检查Celery配置中的Redis地址,你当前配置为redis://localhost:6379//,末尾双斜杠属于错误格式,正确写法应为:
redis://localhost:6379(默认使用0号数据库)- 或
redis://localhost:6379/0(明确指定0号数据库)
修正配置后重新启动Celery worker。
4. 排查防火墙拦截
若本地防火墙开启,可能阻断了6379端口连接。临时关闭防火墙测试:
sudo ufw disable
测试连接正常后,添加Redis端口允许规则并重启防火墙:
sudo ufw allow 6379/tcp sudo ufw enable
5. 测试Redis本地连接
直接用Redis客户端验证本地连接是否正常:
redis-cli
若能进入Redis命令行,说明Redis服务正常,问题出在Celery配置或依赖;若仍无法连接,回到前序步骤排查Redis自身问题。
内容的提问来源于stack exchange,提问作者Amina K M
相关产品推荐
相关产品推荐

