霜天部落 | 专注PHP研发,研究LAMP高性能架构部署与优化

CentOS 5 安装 Memcached 缓存优化系统

Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。

Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。

本文将介绍CentOS 5系统下Memcached的安装步骤。

一、linux下安装Memcache服务器端

1、安装libevent:

# ./configure –prefix=/usr
# make
# make install

2、测试libevent是否安装成功

# ls -al /usr/lib | grep libevent

3、安装Memcache

# ./configure –with-libevent=/usr
# make
# make install

安装完成后memcached的路径为:/usr/local/bin/memcached

4、测试是否成功安装memcached:

# ls -al /usr/local/bin/mem*

二、安装 Memcache 的PHP扩展

1、安装 Memcache 的PHP扩展

# whereis phpize

phpize: /usr/local/bin/phpize

# phpize: /usr/local/bin/phpize

Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519

# whereis php-config
php-config: /usr/local/bin/php-config

# ./configure –enable-memcache –with-php-config=/usr/local/bin/php-config –with-zlib-dir
# make
# make install

如果不报错,安装以后会出现:

Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20060613/

2、把php.ini中的extension_dir = “./”修改为

extension_dir = “/usr/local/lib/php/extensions/no-debug-non-zts-20060613/”

然后在下面添加:extension=memcache.so 来加载

3.启动Memcache的服务器端:

# /usr/local/bin/memcached -p 11211 -u root -d -m 50 – 192.168.1.4 -c 256 -P /tm/memcached.pid

命令行参数解释:

-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u 是运行Memcache的用户,我这里是root,
-l  是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p 是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c 选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P 是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

要注意的是如果你的服务器有防火墙的话注意端口问题。

4、如果要结束Memcache进程,执行:

# kill `cat /tmp/memcached.pid`
或者ps -ef找到pid,直接kill

5、重启apache

6、测试你的Memcache环境

connect("192.168.1.2",12000);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>

7、让memcache在linux启动是自动启动,请编辑 /etc/rc.d/rc.local.加入:

/usr/local/bin/memcached -p 11211 -u root -d -m 50 – 192.168.1.4 -c 256 -P /tm/memcached.pid

三、wordpress启用memcache:

1、安装object-cache.php;下载object-cache.php放到wp-content/目录下

2、修改wp-config.php,添加进去一下内容:

global $memcached_servers;

$memcached_servers = array(‘default’ => array(‘192.168.1.2:11211′));