Linux下Memcached服务器端的安装_服务器

                                                        内存缓存技术在WEB分布式架构中的应用

 

  1. Memcached是什么? 
  2.        Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。 
  3.   
  4. 软件准备: 
  5. 下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz 
  6. 下载:http://www.monkey.org/~provos/libevent-1.3.tar.gz 
  7.   
  8. 1.先安装libevent: 
  9. # tar zxvf libevent-1.3.tar.gz 
  10. # cd libevent-1.3 
  11. # ./configure --prefix=/usr 
  12. # make 
  13. # make install 
  14.   
  15. 测试libevent是否安装成功: 
  16. # ls -al /usr/lib | grep libevent 
  17. lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3 
  18. -rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3 
  19. -rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a 
  20. -rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la 
  21. lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3 
  22.   
  23. 2.安装memcached 
  24. # tar zxvf memcached-1.2.0.tar.gz 
  25. # cd memcached-1.2.0 
  26. # ./configure --with-libevent=/usr 
  27. # make 
  28. # make install 
  29. 安装完成后会把memcached放到 /usr/local/bin/memcached 
  30.   
  31. 测试是否成功安装memcached: 
  32. # ls -al /usr/local/bin/mem* 
  33. -rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached 
  34. -rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug 
  35.   
  36. 3.安装Memcache的PHP扩展 
  37. 3.1.在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。 
  38.  
  39. 3.2.安装PHP的memcache扩展 
  40. #tar vxzf memcache-2.2.1.tgz 
  41. #cd memcache-2.2.1 
  42. #/usr/local/php/bin/phpize 
  43. #./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir 
  44. #make 
  45. #make install 
  46.   
  47. 3.3.上述安装完后会有类似这样的提示: 
  48. Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/ 
  49.   
  50. 3.4.把php.ini中的extension_dir = "./" 修改为 
  51. extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/" 
  52.   
  53. 3.5.添加一行来载入memcache扩展:extension=memcache.so 
  54.   
  55. 4.memcached的基本设置: 
  56. 4.1.启动Memcache的服务器端: 
  57. # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid 
  58. -d选项是启动一个守护进程 
  59. -m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB 
  60. -u是运行Memcache的用户,我这里是root 
  61. -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200 
  62. -p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口 
  63. -c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定 
  64. -P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid 
  65.   
  66. 4.2.如果要结束Memcache进程,执行: 
  67. # kill `cat /tmp/memcached.pid` 
  68. 也可以启动多个守护进程,不过端口不能重复。 
  69.   
  70. 4.3.重启apache,service httpd restart 
  71.   
  72. 5.Memcache环境测试: 
  73. 运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把! 
  74. < ?php 
  75. $mem = new Memcache; 
  76. $mem->connect(”127.0.0.1″, 11211); 
  77. $mem->set('key', 'This is a test!', 0, 60); 
  78. $val = $mem->get('key'); 
  79. echo $val; 
  80. ?>