一,安装所要的软件

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来测试一下



  1. <?php  
  2. $mem = new Memcache;  
  3. $mem->connect("127.0.0.1",12000)or die ("Could not connect");  
  4. //$mem->connect("127.0.0.1",13000)or die ("Could not connect");  
  5. $mem->set('key', 'This is a test!memcache is work', 0, 60);  
  6. $val = $mem->get('key');  
  7. //print_r($val);  
  8. echo $val;  
  9. ?>  


这个将显示出This is a test!memcache is work

起点在哪,或许选择不了。重要的是,你追求的终点在哪!