1、安装memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。 Memcached官网:
http://memcached.org/ 安装步骤: 1、下载源码包:
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
2、编译安装:
//确定libevent是否安装,centos使用yum yum -y install libevent tar -zxvf memcached-1.4.15.tar.gz ./configure --prefix=/usr/local/ make && make install make clean
OK,Memcached安装成功
启动memcached
目标:使用11211端口、www 用户、最大占用16M内存、1024个软连接,输出 客户端请求,以守护进程方式运行
/usr/local/bin/memcached -p 11211 -d -u www -m 16 -c 1024 -vvv //查看是否启动 [piaoyuncc@piaoyun.cc ~]# ps -ef | grep memcache www 18739 1 0 09:32 ? 00:00:00 /usr/local/bin/memcached -p 11211 -d -u www -m 12 -c 1024 -vvv
OK,Memcached启动成功
2、安装memcache php扩展
扩展官网:
http://pecl.php.net/package/memcache 你可以查看最新稳定包(stable)下载:
wget http://pecl.php.net/get/memcache-2.2.7.tgz
安装扩展:
tar -zxvf memcache-2.2.7.tgz cd memcache-2.2.7 /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
安装成功后会显示你的memcache.so扩展的位置,比如我的:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
最后我们需要把这个扩展添加到php中,打开你的php.ini文件在最后添加以下内容:
[Memcache] extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" extension = memcache.so
添加完后 重新启动php,我使用的是nginx+php-fpm进程所以命令如下:
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
如果是apache的使用以下命令:
/usr/local/apache2/bin/apachectl restart
检查安装结果
/usr/local/php/bin/php -m | grep memcache
安装成功会输出:memcache 延伸阅读:
Windows Server 2008 R2 64Bit下IIS环境安装memcache和memcached服务端3、添加wordpress memcache插件
下载插件安装包:
http://wordpress.org/extend/plugins/memcached/installation/ 解压后将该文件
object-cache.php
复制到
wp-content
,注意不是
wp-content/plugins/
。 WordPress 会自动检查在 wp-content 目录下是否有 object-cache.php 文件,如果有,直接调用它作为 WordPress 对象缓存机制。
4、memcache效果监控
我们安装memcache 缓存后当然还要看下他的效果了,wordpress效果监控非常简单只需要拷贝你下载的memcache php扩展包中的memcache.php文件到你的站点下即可: cd memcache-2.2.7 cp memcache.php /data/www/piaoyun.cc/ 打开 memcache.php文件
//修改四个地方(以下注释部分),登陆用户名及密码及连接信息:
define('ADMIN_USERNAME','piaoyuncc'); // 此处设置登录用户名
define('ADMIN_PASSWORD','123456'); // 此处设置登录用户密码
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);
$MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // 此处设置连接信息
//$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // 只使用一个进程,此处屏蔽,否则可以设置多个连接信息
修改后保存退出memcache.php文件。访问你的memcache.php,比如我的http://piaoyun.io/memcache.php,当然密码就不是跟上面一样了。呵呵这些都可以自己设定,我们看下效果图标:(备注运行一段数据后基本会达到97%以上的效率)
运行一段时间后,命中率提高了:
再过一段时间后查看,命中率又提高了,说明memcache还是很有效果的: