一,安装所要的软件
wget http://www.monkey.org/~provos/libevent-1.2.tar.gz #下载libevent
下面是下载memcache服务哭端memcached和php的扩展memcache
http://pecl.php.net/package/memcached
http://pecl.php.net/package/memcache
二,memcached服务器端的安装
1.查看是否已经安装了libevent,一般情况下,装系统的时候libevent就会装进去的。
ls -al /usr/lib | grep libevent
[root@BlackGhost etc]# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 mysql mysql 21 Mar 25 2009 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 mysql mysql 208300 Mar 25 2009 libevent-1.2.so.1.0.3
-rw-r--r-- 1 mysql mysql 268992 Mar 25 2009 libevent.a
-rwxr-xr-x 1 mysql mysql 820 Mar 25 2009 libevent.la
lrwxrwxrwx 1 mysql mysql 21 Mar 25 2009 libevent.so -> libevent-1.2.so.1.0.3
如果显示上面内容说明你已安装了,就可以跳过第二步。
2.先安装libevent:
第一种方法
tar zxvf libevent-1.2.tar.gz
cd libevent-1.2
./configure --prefix=/usr
make
make install
第二种方法
用系统自命的软件管理工具,archlinux用pacman,centos用yum ,大便用apt-get等
[root@BlackGhost etc]# pacman -Ss libevent
core/libevent 1.4.11-1
An event notification library
安装完后在进行第一步,进行测试
3.安装memcached服务器端:
tar zxvf memcached-1.2.0.tar.gz
cd memcached-1.2.0
./configure --with-libevent=/usr --prefix=/usr/local/memcahced
make
make install
如果有错,请确认一下,local下面有memcahced这个文件夹,以及libevent的安装路径是否正确
4.启动memcached服务
/usr/local/bin/memcached -d -m 20 -u zhangy -p 12000 -P ./memcached.pid
-d #作为守护进程运行
-m#分配20M的内存
-u #用户是zhangy
-p #监听端口是12000
-P#进程PID存放的位置
[zhangy@BlackGhost ~]$ ps -e|grep memcache
17904 ? 00:00:00 memcached
到些memcached的服务器端已经安装
三,php的memcache扩展的安装
1.安装PHP的memcache扩展
tar vxzf memcache-2.2.4.tgz
cd memcache-2.2.4
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
make
make install
2.添加一行来载入memcache扩展:
nano /安装路径/lib/php.ini
查找一下,extension_dir,到后面对应的目录里面看一看有没有memcache.so如果有加上
extension=memcache.so
重起nginx,或者php-cgi或者其他。
3.用phpinfo看一下是否安装成功
4.用php来测试一下
- <?php
- $mem = new Memcache;
- $mem->connect("127.0.0.1",12000)or die ("Could not connect");
- //$mem->connect("127.0.0.1",13000)or die ("Could not connect");
- $mem->set('key', 'This is a test!memcache is work', 0, 60);
- $val = $mem->get('key');
- //print_r($val);
- echo $val;
- ?>
这个将显示出This is a test!memcache is work