Redis 无法访问: `AUTH` failed: ERR AUTH 解决办法

在加速WordPress网站时,可以使用Redis Object Cache这款插件。

但是,这款插件本身不带任何配置选项,所以如果是默认的Redis还好,如果是非本地Redis,或者是设置了密码的Redis,则不是那么好用了。

修改wp-config.php

这时候,就需要手动配置,配置方法是修改根目录下的wp-config.php ,插入如下代码:

可选的配置选项有:

配置常量 违约 描述
WP_REDIS_HOST 127.0.0.1 Redis 服务器的主机名
WP_REDIS_PORT 6379 Redis 服务器的端口
WP_REDIS_PATH Redis 服务器的 unix 套接字的路径
WP_REDIS_SCHEME tcp 用于连接的方案:或tcpunix
WP_REDIS_DATABASE 0 缓存使用的数据库:0-15
WP_REDIS_PREFIX 用于所有缓存键以避免数据冲突(替换)的前缀应该是人类可读的,而不是“盐”WP_CACHE_KEY_SALT
WP_REDIS_PASSWORD Redis 服务器的密码,支持 Redis ACLs 数组:['user', 'password']
WP_REDIS_MAXTTL 0 缓存键的最长生存时间
WP_REDIS_CLIENT 用于与 Redis 通信的客户端(默认为安装时,否则)支持、、phpredispredisphpredispredisrelay
WP_REDIS_TIMEOUT 1 连接超时(以秒为单位)
WP_REDIS_READ_TIMEOUT 1 读取/写入时的超时(以秒为单位)
WP_REDIS_IGNORED_GROUPS [] 不应在 Redis 中的请求之间缓存的组

 

很多教程中并没有把这点说清楚,也可能是忽略掉了。

当然,也有人说是修改wp-content目录下的文件,但是官方并没有建议这么做,所以这里暂不提这个,要修改也很简单,打开之后进行配置即可。

无法连接

做好如上配置后,点启用,会报错无法连接数据库。

这个坑,网上那些教程泛泛而谈,说的乱七八糟,其实没有找到问题的本质。

问题的本质

如果这里提示密码不对,那么我们就自己测试下能不能通过自己配置的密码进行连接,如果可以,则可以说明插件出错了。

很显然,如果我们通过终端去尝试时,同样会报错,操作如下:

解决问题

以宝塔为例,在Redis这里,修改密码,点重启服务、重载配置。

随后再次在终端测试,可以看到,能成功连接了。

返回Wordpress站点,点击启用,成功运行。

补充

有的朋友咨询,开启Redis后,是否和WP Rocket冲突。

通过实测,我发现并没有冲突,只是页面底部会变成这样:

而且,无论服务器配置高低,如果在发布文章这些过程中没有问题的话,我更建议两者都打开,速度会快更多。

以我个人为例,一台20C的独立服务器,如果只开Redis,在17ce一波下,马上就会100%CPU,更何况几个核心的云服务器。

至此,希望能有所帮助。

原创文章,作者:蓝洛水深,如若转载,请注明出处:https://blog.lanluo.cn/12622

Like (0)
蓝洛水深的头像蓝洛水深管理员
Previous 2024年3月30日 下午9:09
Next 2024年4月8日 下午11:23

相关推荐

发表回复

Please Login to Comment
联系QQ
联系QQ
SHARE
TOP