宝塔多个 WordPress网站配置Redis

兄弟们今天遇到一个离奇的事情,我同一个服务器上的两个域名,新放的域名设置了Redis Object Cache插件打开后,网站无法访问了,且登录界面自动跳转到之前那个网站的登录网址。如果 Redis 没有正确配置,多个 WordPress 网站一起工作时,如果直接使用的话,就会出现打开 A 域名看到 B 网站内容的混乱情况,下面我们一起来看看多站点怎么配置 redis。

安装 Redis 扩展

在宝塔面板>软件商店,找到当前使用的 php 版本,老魏这个测试服务器有 php5.6/7.2/7.3/7.4 等多个版本,想知道当前网站用的哪个版本,只需要去宝塔面板>【网站】,点击域名打开【站点修改】>php 版本,看到的就是当前版本了。

宝塔多个 WordPress网站配置Redis

找到 php 版本后定位到【软件商店】> php 版本,打开后点击【安装扩展】,找到并安装 redis,程序会自动部署好 redis 服务端。

宝塔多个 WordPress网站配置Redis

添加 Redis 服务端密码(开不开自选)

从安全角度出发建议给 Redis 设置密码,保护数据不被入侵。当然不设置密码也能运行 Redis,请跳到下一步操作。

在安装好的 Redis 扩展 > 性能调整找到 requirepass,输入密码。密码可以是字母、数字或字母数字混合,位数大于 6 位,多一些更安全。

宝塔多个 WordPress网站配置Redis

设置好密码后重启 Redis,好多同学设置完了不生效就是因为这一步没有做。

在 WordPress 网站根目录的 wp-config.php 文件中添加如下代码,用于验证 Redis 密码:

/**添加 Redis 密码 */
define(‘WP_REDIS_PASSWORD’, ‘你设置的密码’);

这段代码添加在数据库信息的下面,如下图所示:

宝塔多个 WordPress网站配置Redis

仔细看宝塔的 Redis 密码和 wp-config.php 的密码要完全一样,否则不会生效。

wp-config.php 启用缓存设置

继续添加如下代码,代码的位置如下图,盐值(SALT)的下面空一行。

define( ‘WP_CACHE_KEY_SALT’, ‘你的域名’ );
define( ‘WP_CACHE’, true );

说明:Key_Salt 是网站的盐值,区分多个 WordPress 网站的唯一识别码。

宝塔多个 WordPress网站配置Redis

安装 Redis 插件

在 WordPress 后台>插件>安装插件,搜索 Redis object cache,安装并启用。

宝塔多个 WordPress网站配置Redis

Redis 生效状态

在 WordPress 后台左下角的设置>Redis,右侧看到 status:connnected,一共三行绿字提示,说明连接服务端成功,Redis 生效了。

宝塔多个 WordPress网站配置Redis

当有人访问网页后,从宝塔面板>软件商店>Redis>负载状态中能看到当前 Redis 的执行结果,比如查找数据库命中率等等很多参数,命中率越大越好。

宝塔多个 WordPress网站配置Redis

数据库优化说明

进一步优化数据库,在宝塔面板 > 软件商店 > MySql > 性能调整 > 优化方案根据服务器(vps)内存的大小选择(内存多大就选择多大)。

再把 MySQL 查询缓存(query_cache_size)设置为 0,这样就把被访问过的数据库内容都缓存到内存中,下次有人访问同一个页面直接返回内存的数据(不再读数据库),网站打开速度极快。

宝塔多个 WordPress网站配置Redis

什么时候 query_cache_size 的数字可以不设置成 0 呢?

WordPress 没使用缓存,或很多非 WordPress 程序无法使用 Redis、memcached 这类缓存插件,如果数据库查询次数多、感觉网站打开慢时,就要开启查询缓存,开启后会读取缓存内容,比直接读取数据库更快。

Redis 与多个 WordPress 网站工作

Redis 与多个 WordPress 网站工作时需要经过一番设置,如果直接使用的话,会出现打开 A 域名看到 B 网站内容的混乱情况。

有以下几种办法可以解决,具体你自己测试哪个好用用哪个。

修改网站 Redis 盐值

在上面第四点中提到了 Key_Salt (网站盐值),在网站的 wp-config.php 文件中添加不同域名就能区分开。

define( ‘WP_CACHE_KEY_SALT’, ‘A 域名’ );
define( ‘WP_CACHE’, true );

保存后重启 Redis 服务,下面的操作也是一样。

设置 redis 数据库名

在网站 wp-config.php 文件中添加不同的数据库名

define(‘WP_REDIS_DATABASE’, 1);

也有人说上面这两个办法还是会让网站内容混乱,那么可以试试下面的办法。

修改 database 数值

从网站目录定位到 /wp-content/plugins/redis-cache/includes,打开 bobject-cache.php 文件,搜索 database。

修改后面的值,默认为 0 适用于第一个站点,第二个站点改成 1,第三个站点改成 2,以此类推。

宝塔多个 WordPress网站配置Redis

给TA打赏
共{{data.count}}人
人已打赏
建站笔记

B2主题 wordpress主题 文章标题H标签美化

2022-6-7 22:42:33

建站笔记

WordPress主题模板 知更鸟begin LTS主题 自媒体网站知更鸟模板

2022-6-9 14:27:38

重要说明

本站资源大多来自网络,如有侵犯你的权益请联系管理员,发送邮件   68836010@qq.com  我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到特殊找不到下载链接的文章,或者不能下载,或者解压失败,先不要忙。 有可能有事情或者在睡觉不能及时的回复您,QQ留言后, 请耐心等待即可! QQ:68836010  

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧