今天yiliu给朋友们带来的是一个关于wordpress开启memcache缓存遇到的事儿。我们知道做一个网站其实不只是代码编写的问题,代码的编写在整个网站建设中所占的比重其实连10%都不到。这不前几天有朋友问我推广一个微信公众号需要多少钱,我说最起码先充5000开户吧。其实5000在现在的市场来说有很多平台是开不了户的,而且想要推广出好的效果5000是远远不够的。所以很多人往往盯着别人几十万上百万粉丝的大V,只是羡慕,却并不知道人家在背后付出了多少的努力。
扯了一些题外话,网站建好之后就是优化、推广、运营。而Memcache则是优化网站打开速度的方式之一。今天就以博才园的博客为例分享Wordpress如何使用memcache提升网站运行效率。下面给大家也看下实测效果。
可以看到命中率在90%以上,这就说明有90%以上的请求是不用查询数据库的,效率大大提升。memcache除了可以缓存Mysql数据库查询外,还可以缓存静态页面。
操作步骤:
1、在服务器上安装memcache。
memcache分为两个版本:memcache和memcached。它们的区别不大,如果只是普通中小企业的网站安装memcache就足够了,如果涉及到服务器集群架构的大型网站那么一定要安装memcached或Redis(不过Redis不是本篇文章的内容)。安装方法很简单,这里不过多赘述,想了解更多的话可以看波波另一篇文章《使用memcache同步session并协调缓存》。
在线安装:
yum -y install memcached
service memcached start
最简单的就是在线安装,当然也可以选择编译安装,都是可以的。
2、安装PHP扩展。
这一步跟上一步类似,如果上一步安装的是memcache那么这一步一定要安装memcache扩展,如果上一步是memcached那么这一步需要安装memcached扩展,同样如果上一步安装的是Redis这一步需要安装Redis扩展。我在上一步安装的是memcached所以这一步也安装的是memcached。
在这一步中值得注意的是如果按照网上其他人的教程可能会遇到“configure: error: no, sasl.h is not available. Run configure with --disable-memcached-sasl to disable this check”错误。
这个错误的意思也就是说sasl不可用,SASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制。简单来说SASL是一个胶合(glue)库,通过这个库把应用层与形式多样的认证系统整合在一起。这有点类似于 PAM,但是后者是认证方式,决定什么人可以访问什么服务,而SASL是认证过程,侧重于信任建立过程,这个过程可以调用PAM来建立信任关系。在这里Memcached就是上面提到的应用层,具体的认证交给SASL库,SASL会根据相应的认证机制来完成验证功能。
根据可以用如下方法去解决,就是编译安装时禁用sasl。
--disable-memcached-sasl
但作为一个服务器组件完整要比禁用更好。所以博才园也为大家提供以下解决方法:
yum install cyrus-sasl-devel
接着编译安装lib-memcached就顺利了。
wget http://pecl.php.net/get/memcached-2.2.0.tgz
tar zxvf memcached-2.2.0.tgz
cd memcached-2.2.0
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
注意下载的版本跟PHP版本的适配问题。
接下来修改php.ini来开启扩展。
extension=memcached.so
然后在SSH终端中输入“php -m | grep memcached”如果窗口中显示“memcached”则表示扩展已经安装成功了。
3、安装Wordpress的memcached插件。
这里也有一个坑就是安装word press官方的Memcached插件下载后上传到WP-CONTENT目录后发现页面空白或报错找不到Class Memcache。同样我也是栽倒了这个坑里。大家可以下载提供的下载版即可。内附安装说明。
Memcache插件:
下载地址
下载解压后你会得到两个目录,所以对应你安装的版本,选择其中一个文件上传至wp-content目录下即可。
温馨提示:如果你想要缓存静态html内容,也可以下载官方插件batch,插件地址:https://wordpress.org/plugins/batcache/
下载解压后,将advanced-cache.php上传至wp-content目录下,修改wordpress配置文件。
define('WP_CACHE', true);
通过以上的步骤,Wordpress的缓存就正式开启了,如果想看看效果,也可以下载memcached探针程序,就可以看到文章开篇那张图片的结果了。
本文链接:http://78moban.cn/post/4948.html
版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!