1、安装libevent:

下载地址:http://monkey.org/~provos/libevent/

安装位置:/usr/local/libevent (根据自己喜好而定,建议外部程序库都装到/usr/local对应的目录下)

安装过程:

#下载解压
cd /tmp  # 所有要下载的文件,我放到/tmp了。
$ wget http://monkey.org/~provos/libevent-1.4.13-stable.tar.gz
(请在安装时选择最新稳定版http://monkey.org/~provos/libevent/)
$ tar -xvf libevent-1.4.13-stable.tar.gz
$ cd libevent-1.4.13-stable
#安装
$ ./configure --prefix=/usr/local/libevent
$ make 如果报错因为没有安装GCC组件的原因; apt-get install gcc
$ make install

 

2、安装Memcache

下载地址:http://www.danga.com/memcached/download.bml

安装位置:/usr/local/memcached (根据自己喜好而定,建议外部程序库都装到/usr/local对应的目录下)

安装过程:

#下载解压
$ wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz(请在安装时选择最新稳定版)
$ tar -xvf memcached-1.4.4.tar.gz
$ cd memcached-1.4.4
#安装
$ ./configure --prefix=/usr/local/memcached -with-libevent=/usr/local/libevent
$ make
$ make install

3、安装php的memcache扩展

下载地址:http://pecl.php.net/package/memcache

安装过程:

#下载解压
$ wget http://pecl.php.net/get/memcache-2.2.5.tgz  (请在安装时选择最新稳定版)
$ tar -xvf memcache-2.2.5.tgz
$ cd memcache-2.2.5
#安装
$ /usr/local/php5/bin/phpize   (先要执行下这个,路径由: # which phpize 获取,phpize 命令是用来准
备 PHP 外挂模块的编译环境的,apt-get install php5-dev)
./configure -enable-memcache -with-php-config=/usr/bin/php-config --with-zlib-dir
 (/usr/bin/php-config路径由: # which php-config 获取)
$ make
$ make install

上述安装完后会有类似这样的提示:Installing shared extensions:     /usr/lib/php5/20060613+lfs/,含义是将 memcache扩展安装到上面这个目录了,你会发现这个目录里有个(memcache.so)文件 。

现在就需要修改php.ini了,$ vim /etc/php5/apache2/php.ini(这个路径由phpinfo()获取,搜php.ini就可以找到,我的是(/etc/php5/apache2/php.ini),然后在适当位置加入: extension=memcache.so ),

$ /etc/init.d/apache2 restart重启pache

安装成功后查看phpinfo();

4、启动memcached守护进程

$ /usr/local/memcached/bin/memcached -d -m 64 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid

-d 启动一个守护进程
-m 限制内存大小,以M为单位,默认64M
-l   监听的服务器IP
-p 监听的端口,默认 11211
-c 并发连接数,默认是256
-P 保存进程编号的文件

如果要结束Memcache进程,执行

$ kill `cat /tmp/memcached.pid`
#pkill memcache

可能遇到的错误: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

解决办法:

1. 首先 find / -name libevent-1.4.so.2 找到缺少的链接文件到底在那儿。
2. LD_DEBUG=libs /usr/local/memcached/bin/memcached -v
3. 从Debug信息中就知道程序去哪里找链接库了。我这边程序去 trying file=/usr/lib/i486-linux-gnu/i686/sse2/cmov/libevent-1.4.so.2 而我的链接
库的实际存储位置是 /usr/local/libevent/lib/libevent-1.4.so.
4. 做一个软连接 ln -s /usr/local/libevent/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2
5.(或者将libevent-1.4.so.2复制到/usr/lib/下也可以
mkdir -p /usr/lib/i486-linux-gnu/i686/sse2/cmov
cp /usr/local/libevent/lib/libevent-1.4.so.2 /usr/lib/i486-linux-gnu/i686/sse2/cmov/libevent-1.4.so.2)

5、测试memcache

< ?php
$mem = new Memcache;
$mem->connect('127.0.0.1', 11211);  //更改为您的服务器ip和相应端口
$mem->set('key', 'this is a test', 0, 60);
$val = $mem->get('key');
echo $val;
?>

运行该页面,如果出现“This is a memcache test!”表示成

6、加入开机启动

编辑 /etc/rc.local

在行尾加入

/usr/local/memcached/bin/memcached -d -m 64 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid

7、监控memcached

memcached监控程序下载

这是一个memcached运行情况的小工具,可以在web方式下,监控memcached当前的缓存区使用 ,缓存命中率,并可在线查看缓存数据。您可以下载用于memcached状 态监控的php程序,解压上面文件,按照您的需要修改以下配置,请将其重命名为memcached.php,放入能够通 过web访问的目录,对memcached的运行状态进行监控。

// 访问监控程序的用户名
define('ADMIN_USERNAME','admin');
// 访问监控程序的密码
define('ADMIN_PASSWORD','admin');
// 显示的时间格式
define('DATE_FORMAT','Y/m/d H:i:s');
//展示缓存状态时生成的饼图的大小
define('GRAPH_SIZE',200);
//在查看item列表时,最多显示的item数目
define('MAX_ITEM_DUMP',50);
// 将希望监控的更多memcached服务器添加为数组元素
$MEMCACHE_SERVERS[] = '127.0.0.1:11211';

另外一种在php中加memcache.so的方式是:yum install php-pecl-memcache.i386(或x86_64)