1: 还是下载

Memcache是用C编写的,要用到C的libevent来处理接口

点击下载memcached-1.4.0.tar.gz

下载libevent-2.0.13-stable.tar.gz

下载memcache-3.0.6.tgz


我下载到了/root/Downloads

 

2:解压编译

a:先安装libevent

  1. #cd /Downloads  
  2. #tar zvxf libevent-2.0.13-stable.tar.gz  
  3. #cd libevent-2.0.13-stable  
  4. #./configure --prefix=/usr  
  5. #make  
  6. #make install  

查看下安装是否成功

  1. # ls -al /usr/lib | grep libevent  
  1. lrwxrwxrwx   1 root root           21 2011-03-30 11:03 libevent-1.4.so.2 -> libevent-1.4.so.2.1.3  
  2. -rw-r--r--   1 root root        91768 2009-12-06 05:52 libevent-1.4.so.2.1.3  
  3. lrwxrwxrwx   1 root root           21 2011-09-16 01:41 libevent-2.0.so.5 -> libevent-2.0.so.5.1.2  
  4. -rwxr-xr-x   1 root root       817306 2011-09-16 01:41 libevent-2.0.so.5.1.2  
  5. -rw-r--r--   1 root root      1048354 2011-09-16 01:41 libevent.a  
  6. lrwxrwxrwx   1 root root           26 2011-09-16 01:41 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.2  
  7. -rwxr-xr-x   1 root root       499865 2011-09-16 01:41 libevent_core-2.0.so.5.1.2  
  8. -rw-r--r--   1 root root       657028 2011-09-16 01:41 libevent_core.a  
  9. -rwxr-xr-x   1 root root          968 2011-09-16 01:41 libevent_core.la  
  10. lrwxrwxrwx   1 root root           26 2011-09-16 01:41 libevent_core.so -> libevent_core-2.0.so.5.1.2  
  11. lrwxrwxrwx   1 root root           27 2011-09-16 01:41 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.2  
  12. -rwxr-xr-x   1 root root       335387 2011-09-16 01:41 libevent_extra-2.0.so.5.1.2  
  13. -rw-r--r--   1 root root       391398 2011-09-16 01:41 libevent_extra.a  
  14. -rwxr-xr-x   1 root root          975 2011-09-16 01:41 libevent_extra.la  
  15. lrwxrwxrwx   1 root root           27 2011-09-16 01:41 libevent_extra.so -> libevent_extra-2.0.so.5.1.2  
  16. -rwxr-xr-x   1 root root          933 2011-09-16 01:41 libevent.la  
  17. lrwxrwxrwx   1 root root           29 2011-09-16 01:41 libevent_openssl-2.0.so.5 -> libevent_openssl-2.0.so.5.1.2  
  18. -rwxr-xr-x   1 root root        80238 2011-09-16 01:41 libevent_openssl-2.0.so.5.1.2  
  19. -rw-r--r--   1 root root        86344 2011-09-16 01:41 libevent_openssl.a  
  20. -rwxr-xr-x   1 root root         1004 2011-09-16 01:41 libevent_openssl.la  
  21. lrwxrwxrwx   1 root root           29 2011-09-16 01:41 libevent_openssl.so -> libevent_openssl-2.0.so.5.1.2  
  22. lrwxrwxrwx   1 root root           30 2011-09-16 01:41 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.2  
  23. -rwxr-xr-x   1 root root        15733 2011-09-16 01:41 libevent_pthreads-2.0.so.5.1.2  
  24. -rw-r--r--   1 root root        12998 2011-09-16 01:41 libevent_pthreads.a  
  25. -rwxr-xr-x   1 root root          996 2011-09-16 01:41 libevent_pthreads.la  
  26. lrwxrwxrwx   1 root root           30 2011-09-16 01:41 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.2  
  27. lrwxrwxrwx   1 root root           21 2011-09-16 01:41 libevent.so -> libevent-2.0.so.5.1.2  

b. 安装memcached(用的root权限,下同)

  1. #cd ..  
  2. #tar zxvf memcached-1.4.0.tar.gz  
  3. #cd memcached-1.4.0  
  4. # ./configure <span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 22px; text-align: left; font-size: 9.5pt; color: blue; font-family: Arial; " lang="EN-US">--</span>with-libevent=/usr   
  5. # make  
  6. # make install  

注意编译配置./configure --with这里是两个 这里不要错了

检查是否成功

  1. hihihi@TP-Tablet:~$ ls -la /usr/local/bin/*mem*  
  2. -rwxr-xr-x 1 root root 257899 2011-09-18 18:10 /usr/local/bin/memcached  

现在使用memcached,输入

 

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

(参数说明:/usr/local/bin/memcached 是memcached编译后所在的地址 -d 是一个守护进程占用一个进程, -m 是分配给memcached的内存,单位MB, -u 是启动memcached的用户, -l 是监听的服务器地址,这里可以设置多台memcache服务器监听同一个IP作成集群, -p 是端口号,默认是11211,实际企业生产中建议修改, -c是运行时最大的并发连接数,默认1024, -P是设置保存memcached的pid文件. 其他参数可以用memcached -h获得帮助)

进入了memcached,随便输入下 比如输入stats显示状态,输入version显示版本.

 也可以telnet 127.0.0.1 11211 连入,其他操作一样.

要关掉memcached服务,

killall -0 memcached


c. 安装memcache

  1. #cd ..  
  2. #tar vxzf memcache-3.0.6.tgz  
  3. #cd memcache-3.0.6  
  4. #/usr/local/php/bin/phpize  
  5. #./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config –with-zlib-dir  
  6. #make  
  7. #make install  
  8. #gvim /etc/php5/apache2/php.ini  

修改php.ini中的extension_dir = “./”

  1. extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/”  

添加

  1. extension=memcache.so  

 

3: 启动和关闭

  1. #/usr/local/bin/memcached -d -m 128 -u root -l 127.0.0.1 -p 11211 -c 256 -P /var/temp/memcached.pid  
  2. #kill `cat /var/temp/memcached.pid` 或者#killall memcached  

重启apache 

  1. sudo /etc/init.d/apche2 restart   

 

4:测试

新建一个testMem.php文件
  1. < ?php  
  2. $mem = new Memcache;  
  3. $mem->connect(“127.0.0.1″, 11211);  
  4. $mem->set(‘key’, ‘This is a test!’, 0, 60);  
  5. $val = $mem->get(‘key’);  
  6. echo $val;  
  7. ?>  
  1. This is a test!  


5: ubuntu/debian 。

a.直接sudo memcached

  1. sudo apt-get install memcached  

启动

  1. memcached -d -m 128 -p 11211 -u root -l 127.0.0.1  

b.sudo memcache

  1. sudo apt-get install php5-memcache  
  1.  sudo gvim /etc/php5/conf.d/memcache.ini  
  2. ; uncomment the next line to enable the module  
  3. extension=memcache.so  
  4.   
  5. [memcache]  
  6. memcache.dbpath="/var/lib/memcache"  
  7. memcache.maxreclevel=0  
  8. memcache.maxfiles=0  
  9. memcache.archivememlim=0  
  10. memcache.maxfilesize=0  
  11. memcache.maxratio=0  

c.如果提示需要libevent

  1. sudo apt-get install libevent-dev  

然后重启下apache查看phpinfo就可以看见memcache了