linux下安装memcache及memcache的php扩展

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文件