WordPress开启memcache缓存的那些坑儿

今天波波给朋友们带来的是一个关于wordpress开启memcache缓存遇到的事儿。我们知道做一个网站其实不只是代码编写的问题,代码的编写在整个网站建设中所占的比重其实连10%都不到。这不前几天有朋友问我推广一个微信公众号需要多少钱,我说最起码先充5000开户吧。其实5000在现在的市场来说有很多平台是开不了户的,而且想要推广出好的效果5000是远远不够的。所以很多人往往盯着别人几十万上百万粉丝的大V,只是羡慕,却并不知道人家在背后付出了多少的努力。

扯了一些题外话,网站建好之后就是优化、推广、运营。而Memcache则是优化网站打开速度的方式之一。今天就以菠菜园的博客为例分享Wordpress如何使用memcache提升网站运行效率。下面给大家也看下实测效果。

wordpress开启memcache

wordpress开启memcache

可以看到命中率在90%以上,这就说明有90%以上的请求是不用查询数据库的,效率大大提升。memcache除了可以缓存Mysql数据库查询外,还可以缓存静态页面。

操作步骤:

1、在服务器上安装memcache。

memcache分为两个版本:memcache和memcached。它们的区别不大,如果只是普通中小企业的网站安装memcache就足够了,如果涉及到服务器集群架构的大型网站那么一定要安装memcached或Redis(不过Redis不是本篇文章的内容)。安装方法很简单,这里不过多赘述,想了解更多的话可以看波波另一篇文章《使用memcache同步session并协调缓存》。

在线安装:

  1. yum -y install memcached
  2. 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。

  1. --disable-memcached-sasl

但作为一个服务器组件完整要比禁用更好。所以菠菜园也为大家提供以下解决方法:

  1. yum install cyrus-sasl-devel

接着编译安装lib-memcached就顺利了。

  1. wget http://pecl.php.net/get/memcached-2.2.0.tgz
  2. tar zxvf memcached-2.2.0.tgz
  3. cd memcached-2.2.0
  4. ./configure --with-php-config=/usr/local/php/bin/php-config
  5. make && make install

注意下载的版本跟PHP版本的适配问题。

接下来修改php.ini来开启扩展。

  1. 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配置文件。

  1. define('WP_CACHE', true);

通过以上的步骤,Wordpress的缓存就正式开启了,如果想看看效果,也可以下载memcached探针程序,就可以看到文章开篇那张图片的结果了。今天的分享可是满满的干货,敬请关注菠菜园其他精彩内容。

 

文件下载

广告也精彩
波波

发表评论

您必须 登录 才能发表留言!