1Panel部署的WordPress配置Redis缓存加速

Eric4 发布于 10 天前 107 次阅读


整洁的1Panel坚持使用容器的原则深受不少人的喜爱,但是把每个程序都放进Docker容器无疑会对程序之间的本机连接造成一定阻碍。在配置容器中Wordpress的Redis缓存时我注意到无法使用默认的配置自动连接,于是翻阅了Redis Object Cache插件的文档,最终成功完成了配置,把首页的SQL查询从25+降到了五次以下。下面是简单教程,希望能帮到大家


使用1Panel部署Redis

在1Panel左边栏的“应用商店”中,你可以非常轻松地找到Redis,只需点击“安装”即可:

1731476234566.png

所有安装选项均保持默认即可

在Wordpress后台安装Redis Object Cache插件

搜索“Redis”,安装第一个即可

之后转到插件的设置页面,你应该会看“Redis 无法连接”的错误,这是正常的,因为插件默认访问127.0.0.1上的Redis数据库,而我们的Redis处在另一个容器中,当然没法正常连接,别担心,我们将在下一步中解决这个问题

修改插件配置以使其适应容器安装

让我们转到Wordpress所在的目录,在1Panel下,目录一般类似这样:/opt/1panel/apps/wordpress/wordpress/data

我们在1Panel侧边栏“主机”下的“文件”打开对应的路径,并打开 wp-config.php

按照文件中的要求,在 /* Add any custom values between this line and the "stop editing" line. */ 这一行之后加上下面几行:

// adjust Redis host and port if necessary 
define( 'WP_REDIS_HOST', '1Panel-redis-example' );
define( 'WP_REDIS_PORT', 6379 );

// change the prefix and database for each site to avoid cache data collisions
define( 'WP_REDIS_PREFIX', 'wp' );
define( 'WP_REDIS_DATABASE', 0 ); // 0-15
define( 'WP_REDIS_PASSWORD', [ 'default', 'redis_PASSWORD' ] );

// reasonable connection and read+write timeouts
define( 'WP_REDIS_TIMEOUT', 1 );
define( 'WP_REDIS_READ_TIMEOUT', 1 );

请注意,这部分的'WP_REDIS_HOST'值和'WP_REDIS_PASSWORD'需要根据你的情况自行修改,'WP_REDIS_PREFIX'可以随意填写

'WP_REDIS_HOST'值和'WP_REDIS_PASSWORD'可以在1Panel左边栏的“数据库”选项卡下查看:

1731477199066.png

转到Redis,并点击“连接信息”:

1731477257427.png

WP_REDIS_HOST推荐填写“容器连接”下的地址

而对于WP_REDIS_PASSWORD,只需要把

define( 'WP_REDIS_PASSWORD', [ 'default', 'redis_PASSWORD' ] );

中的redis_PASSWORD替换掉即可,不需要更改用户default

完成配置

完成修改后,我们回到Redis Object Cache插件的设置页面,再次检查并点击“启用对象缓存”

如果一切正常的话应该看到下面的情况:

1731477403286.png

你之后可以检查自己的MySQL数据库查询次数是否有所降低

感谢你的阅读,祝你生活愉快!