Redis是一种缓存机制,与 Memcached类似都可以加速 WordPress网站速度。WordPress采用动态查询数据库的方式特别耗费主机资源,每打开一个页面都会带来很多次数据库查询,因此使用 Redis Object Cache插件优化 WordPress性能是站长必备技能。
文章目录
隐藏
1、部署宝塔面板
2、安装 Redis扩展
3、添加 Redis服务端密码(开不开自选)
4、wp-config.php 启用缓存设置
5、安装 Redis 插件
6、Redis生效状态
7、补充数据库优化说明
8、Redis与多个 WordPress网站工作
9、Redis无法启动怎么办
10、总结
相关阅读:宝塔面板安装memcached及详细配置方法
宝塔面板安装memcached的误区及正确方法
1、部署宝塔面板
宝塔面板自带 Redis一键部署,免去了命令行的繁琐和难懂,特别适合新手、小白使用。
系统观察屋建议:宝塔面板适合新手、小白建站,支持Linux、Windows系统,点击直达宝塔官网注册账号并免费领取¥3188元专业版大礼包(专业版永久授权仅需1188元),新用户可享受0.99元体验7天专业版。
宝塔面板建议选择阿里云、腾讯云服务器
更多内容请看宝塔面板专题
点击查看网易云课堂《宝塔Linux面板新手入门教程》
不会部署宝塔面板的朋友请看宝塔面板 7.0 版安装部署图文教程宝塔面板安装部署图文教程。
2、安装 Redis扩展
在宝塔面板>软件商店,找到当前使用的 php版本,系统观察屋这个测试服务器有 php5.6/7.2/7.3/7.4等多个版本,想知道当前网站用的哪个版本,只需要去宝塔面板>【网站】,点击域名打开【站点修改】>php版本,看到的就是当前版本了。
找到php版本后定位到【软件商店】> php版本,打开后点击【安装扩展】,找到并安装 redis,程序会自动部署好 redis 服务端。
3、添加 Redis服务端密码(开不开自选)
从安全角度出发建议给 Redis设置密码,保护数据不被入侵。当然不设置密码也能运行 Redis,请跳到下一步操作。
在安装好的 Redis扩展 > 性能调整找到 requirepass,输入密码。密码可以是字母、数字或字母数字混合,位数大于6位,多一些更安全。
设置好密码后重启Redis,好多同学设置完了不生效就是因为这一步没有做。
在 WordPress网站根目录的 wp-config.php 文件中添加如下代码,用于验证 Redis密码:
/**添加 Redis密码 */define(‘WP_REDIS_PASSWORD’, ‘你设置的密码’);
这段代码添加在数据库信息的下面,如下图所示:
仔细看宝塔的 Redis 密码和 wp-config.php 的密码要完全一样,否则不会生效。
4、wp-config.php 启用缓存设置
继续添加如下代码,代码的位置如下图,盐值(SALT)的下面空一行。
define( ‘WP_CACHE_KEY_SALT’, ‘你的域名’ );define( ‘WP_CACHE’, true );
说明:Key_Salt 是网站的盐值,区分多个 WordPress网站的唯一识别码。
5、安装 Redis 插件
在 WordPress后台>插件>安装插件,搜索 Redis object cache,安装并启用。
6、Redis生效状态
在 WordPress后台左下角的设置>Redis,右侧看到 status:connnected,一共三行绿字提示,说明连接服务端成功,Redis生效了。
当有人访问网页后,从宝塔面板>软件商店>Redis>负载状态中能看到当前 Redis的执行结果,比如查找数据库命中率等等很多参数,命中率越大越好。
7、补充数据库优化说明
进一步优化数据库,在宝塔面板 > 软件商店 > MySql > 性能调整 > 优化方案根据服务器(vps)内存的大小选择(内存多大就选择多大)。
再把 MySQL查询缓存(query_cache_size)设置为 0,这样就把被访问过的数据库内容都缓存到内存中,下次有人访问同一个页面直接返回内存的数据(不再读数据库),网站打开速度极快。
什么时候 query_cache_size 的数字可以不设置成 0 呢?
WordPress没使用缓存,或很多非 WordPress程序无法使用 Redis、memcached这类缓存插件,如果数据库查询次数多、感觉网站打开慢时,就要开启查询缓存,开启后会读取缓存内容,比直接读取数据库更快。
8、Redis与多个 WordPress网站工作
Redis与多个 WordPress网站工作时需要经过一番设置,如果直接使用的话,会出现打开 A域名看到 B 网站内容的混乱情况。
有以下几种办法可以解决,具体你自己测试哪个好用用哪个。
8.1、修改网站 Redis盐值
在上面第四点中提到了 Key_Salt (网站盐值),在网站的 wp-config.php文件中添加不同域名就能区分开。
define( ‘WP_CACHE_KEY_SALT’, ‘A域名’ );define( ‘WP_CACHE’, true );
保存后重启 Redis服务,下面的操作也是一样。
8.2、设置 redis 数据库名
在网站 wp-config.php文件中添加不同的数据库名
define(‘WP_REDIS_DATABASE’, 1);
也有人说上面这两个办法还是会让网站内容混乱,那么可以试试下面的办法。
8.3、修改 database数值
从网站目录定位到 /wp-content/plugins/redis-cache/includes,打开 bobject-cache.php文件,搜索 database。
修改后面的值,默认为 0 适用于 1个站点,2个站点改成1,3个站点改成2,以此类推。
9、Redis无法启动怎么办
部署Redis扩展及Redis插件遇到问题解答。
Redis显示暂停按钮怎么办?
用命令行去查看 Redis的当前状态,
/etc/init.d/redis status
返回 stopped 就是未启动。
再输入
/etc/init.d/redis restart
返回信息应该是重启失败,查看返回命令结果能知道在哪里停掉的,也知道该从哪个位置入手解决了。
10、总结
Redis包括服务端和 Redis object cache 插件两部分,服务端一般用宝塔面板部署,部署插件后就可以起到缓存加速作用了。还可以和 W3 Total Cache插件配合实现更多的细致调整设置。经过大量测试后发现启用 Redis缓存和不启用缓存,区别还是很大的,启用后网站速度飞快。
暂无评论内容