Redis Object Cache 启用后提示 Connection refused

1Panel版本:v1.5.3
浏览器:Edge 版本 116.0.1938.54 (正式版本) (64 位)
运行方式:手动安装WordPress,Redis
使用的是 Redis Object Cache 插件,配置好密码和端口后启用插件提示连接被拒绝。已确认密码是正确的。


image
image

是创建的 PHP 运行环境网站吗?

使用容器 service name 访问的时候,需要确保两个容器在同一个 network 中
如果是手动创建容器时,需要注意这一点。

wp这个插件有点迷的,升级后总会遇到奇奇怪怪的问题,没事不要升级。

除了wp 的config 定义一下以外,

编辑类似文件/opt/1panel/apps/wordpress/wordpress/data/wp-content/object-cache.php

大约在行624行左右参考以下修改

    protected function build_parameters() {
        $parameters = [
            'scheme' => 'tcp',
            'host' => 'redis',
            'port' => 6379,
            'password' => 'password',
3 个赞

网络技术栈来了,一般小白哪有这么综合的技术栈知识,能学东西是真的;简单点儿就是需要折腾

折腾好久,终于弄明白了。WP_REDIS_HOST原来不能用redis,而是要用真正生成的容器名连接,比如1Panel-redis-uhMz,但面板里给的是redis:6379
非常误导人!折腾很长时间。
用docker的IP连接也可以,但是重启ip会变,所以,最好还是用容器名。

你的1Panel服务器是存在多个服务名称为redis的容器应用吗?

如果在相同的容器网络下,应该是服务名称和容器名称都可以。
后面版本也会针对这里作出优化。

不是,就一个。从应用商店安装后,容器名生成的并不是redis,而是类似于1Panel-redis-uhMz。可能第一次生成是redis,但是如果销毁了再重新安装,就会变个名字。最好在数据库连接那里,说明白是真正生成的redis容器名称。

网络都是在相同网络下,按说服务名应该可以,但不知道为什么就是不行。用ip和容器名访问都没有问题,就是服务名不行