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

Moodle 3.9连接Redis缓存服务器失败问题排查求助

问题排查与解决方案

端口配置说明

默认Redis使用6379端口,若Red Hat端未修改端口,Moodle配置中可省略端口填写(PHP Redis模块会自动调用默认值),但建议手动明确填写6379进行测试,排除端口识别异常的可能。如果Redis修改过端口或存在网络端口映射,则必须指定对应端口。

Linux网络配置遗漏排查

  • 防火墙规则放行:Red Hat默认使用firewalld,需确保6379端口对外开放,执行以下命令:
    firewall-cmd --add-port=6379/tcp --permanent
    firewall-cmd --reload
    
    验证端口状态:firewall-cmd --list-ports,确认6379/tcp在输出列表中。
  • Redis绑定地址调整:检查Redis配置文件(通常为/etc/redis.conf或/etc/redis/redis.conf)中的bind参数。若设置为127.0.0.1,Redis仅监听本地连接,需修改为0.0.0.0(允许所有IP访问)或Windows Server的内网/公网IP,修改后重启Redis服务:
    systemctl restart redis
    
  • SELinux限制解除:Red Hat的SELinux可能拦截跨主机Redis连接,可临时关闭测试:setenforce 0,若能正常连接,再添加永久规则放行:
    setsebool -P redis_bind_all_unreserved_ports 1
    semanage port -a -t redis_port_t -p tcp 6379
    

其他可能的问题点

  • Redis密码验证:若Redis配置了requirepass密码,Moodle的Redis存储实例配置中必须填写对应密码,否则会连接失败。检查Redis配置文件中的requirepass项,确认后在Moodle配置中补充密码参数。
  • 跨主机网络连通性:在Windows Server上执行PowerShell命令Test-NetConnection myredisserver.mydomain.com -Port 6379,或用telnet myredisserver.mydomain.com 6379测试端口是否可达。若不通,说明存在路由、网关或运营商层面的网络限制。
  • PHP Redis模块兼容性:Moodle 3.9对PHP Redis模块有版本要求(建议至少2.2.8以上),版本过低可能引发兼容性问题,可通过PHPInfo页面确认模块版本是否符合要求。
  • Redis保护模式限制:若Redis开启protected-mode yes(默认开启),且未绑定外部IP或设置密码,会拒绝外部连接。需关闭保护模式(protected-mode no),或同时设置密码并绑定外部IP。
  • Moodle缓存生效问题:修改Redis缓存配置后,需清除Moodle本地缓存——删除moodledata/cache目录下的文件,或在Moodle后台「站点管理」->「清除缓存」中操作,确保新配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 03:27:40