WordPress 中 Redis 连接失败的报错信息,核心原因是 Connection refused(连接被拒绝)

🔍 问题原因

WordPress 无法连接到 Redis 服务,通常由以下几点导致:
  1. Redis 服务未运行:服务器上的 Redis 进程没有启动。
  2. 连接信息错误wp-config.php 中配置的 Redis 主机地址、端口或密码不正确。
  3. 网络或安全限制:防火墙、安全组或 Redis 配置阻止了连接。
  4. 权限问题:Redis 服务未对 WordPress 所在的主机开放访问权限。

🛠️ 排查与解决步骤

1. 检查 Redis 服务状态

在服务器上执行以下命令,确认 Redis 是否在运行:
# 检查 Redis 服务状态
systemctl status redis

# 如果未运行,启动 Redis 服务
systemctl start redis

# 设置开机自启(可选)
systemctl enable redis

2. 验证 Redis 连接信息

打开 WordPress 根目录下的 wp-config.php 文件,检查以下配置项是否正确:
// 示例配置
define('WP_REDIS_HOST', '127.0.0.1'); // Redis 主机地址(本地为 127.0.0.1)
define('WP_REDIS_PORT', 6379);        // Redis 默认端口
define('WP_REDIS_PASSWORD', '');       // 如果设置了密码,需要填写
define('WP_REDIS_DATABASE', 0);        // 使用的数据库编号
  • 如果 Redis 部署在其他服务器,WP_REDIS_HOST 应填写对应服务器的内网或公网 IP。
  • 确认端口号与 Redis 配置文件(redis.conf)中的 port 配置一致。

3. 检查 Redis 配置与防火墙

  • Redis 绑定地址:在 redis.conf 中,确保 bind 配置允许 WordPress 服务器访问。如果是本地服务,bind 127.0.0.1 即可;如果需要远程访问,需配置为 bind 0.0.0.0 并设置密码。
  • 防火墙规则:确保服务器防火墙(如 iptables、ufw)或云服务商安全组允许 6379 端口的入站连接。
    # 示例:使用 ufw 开放 6379 端口
    ufw allow 6379
    

4. 测试 Redis 连通性

在 WordPress 服务器上使用 redis-cli 工具测试连接:
# 连接到 Redis
redis-cli -h <REDIS_HOST> -p <REDIS_PORT>

# 如果设置了密码,连接后执行
AUTH <REDIS_PASSWORD>

# 测试是否能正常响应
ping
如果返回 PONG,说明连接正常;如果返回错误,则需要检查网络和配置。

5. 临时禁用 Redis(应急方案)

如果需要快速恢复网站访问,可以按照提示删除 object-cache.php 文件:
rm /path/to/your/wordpress/wp-content/object-cache.php
删除后,WordPress 将回退到默认的数据库缓存,网站即可恢复访问。

💡 预防建议

  • 定期检查 Redis 服务状态,可通过监控工具(如 Prometheus + Grafana)进行告警。
  • 生产环境中,务必为 Redis 设置密码,并限制可访问的 IP 地址。
  • 升级 Redis 和 WordPress 插件到最新版本,避免已知的兼容性问题。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/wp/319318.html

(0)
上一篇 2025年10月29日 00:23
下一篇 2022年4月19日 00:36

相关推荐

发表回复

登录后才能评论