WordPress启用memcached缓存(LNMP环境为例)

前一段时间部落遇到负载无故飙高的情况,因为是版本升级后出现的,于是各种折腾,就包括安装网上所有提到过的缓存插件,虽然最终确定是某一款原来的插件导致的,但是这过程中体验某些缓存还是有一定的用处,今天记录下WordPress启用memcached缓存的过程。在此之前,我也没搞懂memcached和memcache这两个的区别,后边搜索了下:

PHP有两个memcache客户端:php memcache和php memcached
php memcache独立用php实现,是老客户端,从我们实践中已发现有多个问题,而且功能少,属性也可设置的少;
http://pecl.php.net/package/memcache
php memcached是基于原生的c的libmemcached的扩展,更加完善,建议替换为php memcached
http://pecl.php.net/package/memcached

所以我还是部署安装memcached,除了他是更新的之外,因为我一般使用军哥LNMP一键包,安装memcached更加简单……

LNMP官方页面有安装方式:

进入lnmp解压后的目录,执行:

./addons.sh install memcached

接下来就是耐心等待,很快就安装完成,完成后不放心也可以看看加载是否成功(一般没问题,安装失败有报错的)

php -m | grep memcached

测试下缓存,将下面的代码保存为test.php,执行php -f test.php 输出100表示安装成功。

<?php
$m = new Memcached();
$m->addServer( '127.0.0.1', 11211 );
$m->set( 'foo', 100 );
echo $m->get( 'foo' ) . "\n";

上述完成后,环境方面支持就没有问题了。

###如果不是LNMP环境,那么按步骤安装memcached,我看了下还挺麻烦的~ ###

接下来我们开始在wordpress中安装插件,非常简单:

访问:https://github.com/tollmanz/wordpress-pecl-memcached-object-cache

下载并解压得到的 object-cache.php,上传到 wp-content 目录即可开启 memcached 缓存。

这里特别注意,放入的文件夹是wp-content中,不是插件目录!

这一步完成后,你的wordpress已经启用memcached缓存了,如果要确认下,查看下效果的话,可以下载官方探针:

http://pecl.php.net/get/memcache-3.0.8.tgz

解压出memcache.php文件,编辑该文件,设定下访问的用户名和密码:

define('ADMIN_USERNAME','memcache');    // Admin Username
define('ADMIN_PASSWORD','password');    // Admin Password
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);
 
$MEMCACHE_SERVERS[] = 'mymemcache-server1:11211'; // add more as an array
$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array

修改如下:

define('ADMIN_USERNAME','memcache');    // 登录用户名,自定
define('ADMIN_PASSWORD','password');    // 登录密码,自定
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);
//下面是定义memcached服务器,一般我们是单机部署,所以注释掉一行,并将服务器地址根据实际修改
$MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // add more as an array 
//$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array

修改后上传到网站目录中,传入任何一个可访问的目录即可(只是临时看看就删也可以就放根目录),然后访问这个文件,就可以看到效果了,如下图:

memcache.php

注意事项:如果网站迁移,请确保新的服务器环境已安装memcached,或者删除了插件文件,否则访问空白页,之前有次测试的时候,我就因为这个找了好久!


【AD】炭云:768元/年/1GB内存/20GB SSD空间/2TB流量/500Mbps-1Gbps端口/独立IPv4/KVM/广州移动

【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps