首页主机资讯如何解决Ubuntu Redis连接问题

如何解决Ubuntu Redis连接问题

时间2025-11-19 11:54:03发布访客分类主机资讯浏览575
导读:Ubuntu Redis连接问题排查与修复 一 快速自检清单 确认服务是否运行:执行sudo systemctl status redis-server,若未运行则sudo systemctl start redis-server;查看详...

Ubuntu Redis连接问题排查与修复

一 快速自检清单

  • 确认服务是否运行:执行sudo systemctl status redis-server,若未运行则sudo systemctl start redis-server;查看详细日志:sudo journalctl -u redis-server.servicetail -f /var/log/redis/redis-server.log
  • 本机直连测试:执行redis-cli -h 127.0.0.1 -p 6379 ping,返回PONG说明本机服务与端口正常。
  • 监听端口检查:执行ss -lntp | grep :6379netstat -tuln | grep 6379,确认有进程在0.0.0.0:6379127.0.0.1:6379监听。
  • 防火墙放行:执行sudo ufw status,若启用则放行端口:sudo ufw allow 6379/tcp;云服务器还需在安全组放行6379
    以上步骤能快速定位“服务未起、端口未监听、访问被拦”等高频根因。

二 常见错误与对应修复

  • 错误1:Connection refused(连接被拒绝)
    含义:目标IP:端口无服务在监听或被防火墙拒绝。
    处理:
    1. 确认服务运行并重启:sudo systemctl restart redis-server
    2. 核对监听地址与端口:ss -lntp | grep :6379,若仅127.0.0.1监听,远程将无法连接;
    3. 如为云主机,检查安全组/NACL是否放行6379
  • 错误2:DENIED Redis is running in protected mode(受保护模式拒绝)
    含义:开启了protected-mode yes且未设置密码或未正确绑定/放行。
    处理(任选其一):
    1. 设置强密码:在**/etc/redis/redis.conf中配置requirepass your_password**,重启后用**redis-cli -a ‘your_password’**连接;
    2. 明确放行:将bind设置为服务器内网/公网IP或0.0.0.0,并确保防火墙已放行;
    3. 如为可信内网,可临时将protected-mode no(不建议生产)。
  • 错误3:NOAUTH Authentication required(需要认证)
    含义:客户端未提供密码或密码错误。
    处理:使用redis-cli -h -p 6379 -a ‘’,或在redis.conf中核对requirepass
  • 错误4:远程能连本机连不通
    含义:配置仅绑定127.0.0.1或本机回环路由问题。
    处理:在**/etc/redis/redis.confbind 127.0.0.1改为bind 0.0.0.0**(或指定服务器IP),重启服务并再次测试。
    以上对应“服务/端口、保护模式、认证、绑定地址”四类主因,按序处理通常可恢复连接。

三 配置文件关键项与示例

  • 绑定地址:默认bind 127.0.0.1仅本地;远程访问建议改为bind 0.0.0.0(或服务器具体IP)。
  • 保护模式:protected-mode yes时,未设置密码且非本地回环会被拒绝;可设置requirepass或改为no(仅限可信网络)。
  • 端口:port 6379,如修改需同步客户端与防火墙。
  • 示例片段(仅演示关键项):
    bind 0.0.0.0
    protected-mode yes
    requirepass yourStrongPassword
    port 6379
    修改后执行sudo systemctl restart redis-server使配置生效。

四 远程连接与网络验证

  • 客户端连接命令:
    • 无密码:redis-cli -h < 服务器IP> -p 6379
    • 有密码:redis-cli -h < 服务器IP> -p 6379 -a ‘’
  • 连通性验证:
    • 端口可达:nc -vz < 服务器IP> 6379telnet < 服务器IP> 6379
    • 本机监听:ss -lntp | grep :6379
  • 防火墙与安全组:
    • UFW:sudo ufw allow 6379/tcp
    • firewalld:sudo firewall-cmd --add-port=6379/tcp --permanent & & sudo firewall-cmd --reload
    • 云服务器:在控制台安全组放行6379/tcp入站。
      以上确保“网络路径、端口监听、访问控制”三处同时放行。

五 服务无法启动的深度排查

  • 查看状态与日志:sudo systemctl status redis-serversudo journalctl -u redis-server.servicetail -f /var/log/redis/redis-server.log
  • 配置与语法:核对**/etc/redis/redis.conf关键项(bind/port/requirepass/daemonize),必要时以sudo redis-server /etc/redis/redis.conf**前台启动观察报错。
  • 端口占用:若6379被占用,结束占用进程或修改port后重启。
  • systemd与重装:执行sudo systemctl daemon-reload后重启;仍异常可备份配置后sudo apt remove --purge redis-server & & sudo apt install redis-server
    以上步骤覆盖“配置错误、端口冲突、systemd单元异常、环境损坏”等导致无法启动的主因。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何解决Ubuntu Redis连接问题
本文地址: https://pptw.com/jishu/751021.html
Ubuntu Redis如何监控与调优 Redis性能如何在Ubuntu提升

游客 回复需填写必要信息