http://hellosa.blog.51cto.com/2698675/503371

一、构建memcached 服务器(memcached服务端程序的安装)

1)memcached用到了libevent这个库,用于Socket的处理

  1. wget http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz 
  2. tar xzvf libevent-2.0.10-stable.tar.gz
  3. cd libevent-2.0.10-stable
  4. ./configure --prefix=/usr
  5. make && make install

验证libevent是否正确安装

  1. ls -al /usr/lib |grep libevent  
  1. [root@test /]# ls -al /usr/lib |grep libevent  
  2. lrwxrwxrwx   1 root root      21 Feb 28 19:27 libevent-2.0.so.5 -> libevent-2.0.so.5.0.1 
  3. -rwxr-xr-x   1 root root  943520 Feb 28 19:27 libevent-2.0.so.5.0.1 
  4. -rw-r--r--   1 root root 1532202 Feb 28 19:27 libevent.a 
  5. lrwxrwxrwx   1 root root      26 Feb 28 19:27 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.0.1 
  6. -rwxr-xr-x   1 root root  554374 Feb 28 19:27 libevent_core-2.0.so.5.0.1 
  7. -rw-r--r--   1 root root  928010 Feb 28 19:27 libevent_core.a 
  8. -rwxr-xr-x   1 root root     971 Feb 28 19:27 libevent_core.la 
  9. lrwxrwxrwx   1 root root      26 Feb 28 19:27 libevent_core.so -> libevent_core-2.0.so.5.0.1 
  10. lrwxrwxrwx   1 root root      27 Feb 28 19:27 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.0.1 
  11. -rwxr-xr-x   1 root root  410763 Feb 28 19:27 libevent_extra-2.0.so.5.0.1 
  12. -rw-r--r--   1 root root  604266 Feb 28 19:27 libevent_extra.a 
  13. -rwxr-xr-x   1 root root     978 Feb 28 19:27 libevent_extra.la 
  14. lrwxrwxrwx   1 root root      27 Feb 28 19:27 libevent_extra.so -> libevent_extra-2.0.so.5.0.1 
  15. -rwxr-xr-x   1 root root     936 Feb 28 19:27 libevent.la 
  16. lrwxrwxrwx   1 root root      29 Feb 28 19:27 libevent_openssl-2.0.so.5 -> libevent_openssl-2.0.so.5.0.1 
  17. -rwxr-xr-x   1 root root   85731 Feb 28 19:27 libevent_openssl-2.0.so.5.0.1 
  18. -rw-r--r--   1 root root  120996 Feb 28 19:27 libevent_openssl.a 
  19. -rwxr-xr-x   1 root root    1007 Feb 28 19:27 libevent_openssl.la 
  20. lrwxrwxrwx   1 root root      29 Feb 28 19:27 libevent_openssl.so -> libevent_openssl-2.0.so.5.0.1 
  21. lrwxrwxrwx   1 root root      30 Feb 28 19:27 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.0.1 
  22. -rwxr-xr-x   1 root root   18094 Feb 28 19:27 libevent_pthreads-2.0.so.5.0.1 
  23. -rw-r--r--   1 root root   18678 Feb 28 19:27 libevent_pthreads.a 
  24. -rwxr-xr-x   1 root root     999 Feb 28 19:27 libevent_pthreads.la 
  25. lrwxrwxrwx   1 root root      30 Feb 28 19:27 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.0.1 
  26. lrwxrwxrwx   1 root root      21 Feb 28 19:27 libevent.so -> libevent-2.0.so.5.0.1 

 2)安装memcached

  1. wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz 
  2. tar xzvf memcached-1.4.5.tar.gz  
  3. cd memcached-1.4.5  
  4. ./configure -–with-libevent=/usr 
  5. make && make install  

 安装完成后,程序会将memcached 自动放到 /usr/local/bin/memcached

  1. [root@test /]# which memcached 
  2. /usr/local/bin/memcached 

 3)安装PHP的memcache扩展

memcache 的项目下载地址

  1. http://pecl.php.net/package/memcache 

 安装code

  1. wget http://pecl.php.net/get/memcache-3.0.5.tgz 
  2. tar xf memcache-3.0.5.tgz 
  3. cd memcache-3.0.5
  4. /usr/local/php/bin/phpize    //执行phpize扩展安装程序,假设phpzie的路径为/usr/local/php/bin/phpize,具体的路径得根据自己的环境修改。 
  5. ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir 
  6. make && make install 

安装完成后,提示

  1. Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/ 

配置php.ini文件

修改extension_dir:

  1. extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" 

添加一行以便加载memcache扩展:extension=memcache.so

    1. extension=memcache.so 

重启服务器即可

启动memcached 服务端程序:

  1. memcached -d -m 10 -u root -l localhost -p 11211 -c 256

各个参数的含义:

  1. -d选项是启动一个守护进程, 
  2. -m是分配给Memcached使用的内存数量,单位是MB, 
  3. -u是运行Memcache的用户,我这里是root, 
  4. -l是监听的服务器IP地址, 
  5. -p是设置Memcache监听的端口,最好是1024以上的端口, 
  6. -c选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定, 
  7. -P是设置保存Memcache的pid文件