感谢支持
我们一直在努力

Linux下Memcached-1.4.10安装

memcache是一款流行的缓存产品,它分为两个部分:一个是运行在服务器端的memcached进程,一个是在客户端进行调用获取缓存中数据客户端,例如比较常用的PHP客户端。这里,记录一下安装服务器端的memcached的过程,比较容易。




准备软件包





  • libevent-2.0.16-stable.tar.gz  [http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz]
  • memcached-1.4.10.tar.gz  [http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz]
  • memcache-3.0.6.tgz  [http://pecl.php.net/get/memcache-3.0.6.tgz]

安装配置

安装libevent-2.0.16


安装libevent-2.0.16的过程如下所示:


  1. root@ www.linuxidc.com:/home/shirdrn# tar -xvzf libevent-2.0.16-stable.tar.gz   

  2. root@ www.linuxidc.com:/home/shirdrn# cd libevent-2.0.16-stable/  

  3. root@ www.linuxidc.com:/home/shirdrn/libevent-2.0.16-stable# ./configure   

  4. root@ www.linuxidc.com:/home/shirdrn/libevent-2.0.16-stable# make  

  5. root@ www.linuxidc.com:/home/shirdrn/libevent-2.0.16-stable# make install  

安装完成以后,通过下面的方式来验证是否安装成功:


  1. root@ www.linuxidc.com:/usr/local# ls -al  /usr/local/lib | grep libevent

  2. lrwxrwxrwx  1 root root       21 2011-12-15 14:52 libevent-2.0.so.5 -> libevent-2.0.so.5.1.4  

  3. -rwxr-xr-x  1 root root  1072325 2011-12-15 14:52 libevent-2.0.so.5.1.4  

  4. -rw-r–r–  1 root root  1683924 2011-12-15 14:52 libevent.a  

  5. lrwxrwxrwx  1 root root       26 2011-12-15 14:52 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.1.4  

  6. -rwxr-xr-x  1 root root   646606 2011-12-15 14:52 libevent_core-2.0.so.5.1.4  

  7. -rw-r–r–  1 root root  1045954 2011-12-15 14:52 libevent_core.a  

  8. -rwxr-xr-x  1 root root      974 2011-12-15 14:52 libevent_core.la  

  9. lrwxrwxrwx  1 root root       26 2011-12-15 14:52 libevent_core.so -> libevent_core-2.0.so.5.1.4  

  10. lrwxrwxrwx  1 root root       27 2011-12-15 14:52 libevent_extra-2.0.so.5 -> libevent_extra-2.0.so.5.1.4  

  11. -rwxr-xr-x  1 root root   450238 2011-12-15 14:52 libevent_extra-2.0.so.5.1.4  

  12. -rw-r–r–  1 root root   638042 2011-12-15 14:52 libevent_extra.a  

  13. -rwxr-xr-x  1 root root      981 2011-12-15 14:52 libevent_extra.la  

  14. lrwxrwxrwx  1 root root       27 2011-12-15 14:52 libevent_extra.so -> libevent_extra-2.0.so.5.1.4  

  15. -rwxr-xr-x  1 root root      939 2011-12-15 14:52 libevent.la  

  16. lrwxrwxrwx  1 root root       29 2011-12-15 14:52 libevent_openssl-2.0.so.5 -> libevent_openssl-2.0.so.5.1.4  

  17. -rwxr-xr-x  1 root root    97847 2011-12-15 14:52 libevent_openssl-2.0.so.5.1.4  

  18. -rw-r–r–  1 root root   131388 2011-12-15 14:52 libevent_openssl.a  

  19. -rwxr-xr-x  1 root root     1010 2011-12-15 14:52 libevent_openssl.la  

  20. lrwxrwxrwx  1 root root       29 2011-12-15 14:52 libevent_openssl.so -> libevent_openssl-2.0.so.5.1.4  

  21. lrwxrwxrwx  1 root root       30 2011-12-15 14:52 libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.4  

  22. -rwxr-xr-x  1 root root    22414 2011-12-15 14:52 libevent_pthreads-2.0.so.5.1.4  

  23. -rw-r–r–  1 root root    19526 2011-12-15 14:52 libevent_pthreads.a  

  24. -rwxr-xr-x  1 root root     1002 2011-12-15 14:52 libevent_pthreads.la  

  25. lrwxrwxrwx  1 root root       30 2011-12-15 14:52 libevent_pthreads.so -> libevent_pthreads-2.0.so.5.1.4  

  26. lrwxrwxrwx  1 root root       21 2011-12-15 14:52 libevent.so -> libevent-2.0.so.5.1.4  

安装memcached-1.4.101、安装memcached-1.4.10的过程,如下所示:


  1. root@ www.linuxidc.com:/home/shirdrn# tar -xvzf memcached-1.4.10.tar.gz  

  2. root@ www.linuxidc.com:/home/shirdrn# cd memcached-1.4.10/  

  3. root@ www.linuxidc.com:/home/shirdrn/memcached-1.4.10# ./configure –prefix=/usr/local/memcached –with-libevent=/usr/local  

  4. root@ www.linuxidc.com:/home/shirdrn/memcached-1.4.10# make  

  5. root@ www.linuxidc.com:/home/shirdrn/memcached-1.4.10# make install  
2、测试memcached-1.4.10安装是否成功:


  1. root@ www.linuxidc.com:/usr/local# ls -al /usr/local/memcached/bin/mem*  

  2. -rwxr-xr-x 1 root root 365926 2011-12-15 14:54 /usr/local/memcached/bin/memcached  
启动memcached服务:


  1. /usr/local/memcached/bin/memcached -d -m 10 -u root -l 192.168.0.184 -p 19830 -c 5000 -P /tmp/memcached.pid  

执行上面的命令行,将启动memcached服务进程,并且进程号存储在/tmp/memcached.pid文件中。


上述命令行中选项的含义简介如下:




  • -d  指定memcached进程作为一个守护进程启动
  • -m  指定分配给memcached使用的内存,单位是MB
  • -u  指定运行memcached的用户
  • -l  指定监听的服务器IP地址,如果有多个地址的话,使用逗号分隔,格式可以为“IP地址:端口号”,例如:-l 192.168.0.184:19830,192.168.0.195:13542;端口号也可以通过-p选项指定
  • -p  指定memcached监听的端口,要保证该端口号未被占用
  • -c  指定是最大运行的并发连接数,默认是1024
  • -P  指定保存memcached进程的pid文件

你也可以通过如下命令行获取memcached帮助信息,如下所示:


  1. root@ www.linuxidc.com:/home/shirdrn/memcached-1.4.10# /usr/local/memcached/bin/memcached -help  

  2. memcached 1.4.10  

  3. -p <num>      TCP port number to listen on (default: 11211)  

  4. -U <num>      UDP port number to listen on (default: 11211, 0 is off)  

  5. -s <file>     UNIX socket path to listen on (disables network support)  

  6. -a <mask>     access mask for UNIX socket, in octal (default: 0700)  

  7. -l <addr>     interface to listen on (default: INADDR_ANY, all addresses)  

  8.               <addr> may be specified as host:port. If you don’t specify  

  9.               a port number, the value you specified with -p or -U is  

  10.               used. You may specify multiple addresses separated by comma  

  11.               or by using -l multiple times  

  12. -d            run as a daemon  

  13. -r            maximize core file limit  

  14. -u <username> assume identity of <username> (only when run as root)  

  15. -m <num>      max memory to use for items in megabytes (default: 64 MB)  

  16. -M            return error on memory exhausted (rather than removing items)  

  17. -c <num>      max simultaneous connections (default: 1024)  

  18. -k            lock down all paged memory.  Note that there is a  

  19.               limit on how much memory you may lock.  Trying to  

  20.               allocate more than that would fail, so be sure you  

  21.               set the limit correctly for the user you started  

  22.               the daemon with (not for -u <username> user;  

  23.               under sh this is done with ‘ulimit -S -l NUM_KB’).  

  24. -v            verbose (print errors/warnings while in event loop)  

  25. -vv           very verbose (also print client commands/reponses)  

  26. -vvv          extremely verbose (also print internal state transitions)  

  27. -h            print this help and exit  

  28. -i            print memcached and libevent license  

  29. -P <file>     save PID in <file>, only used with -d option  

  30. -f <factor>   chunk size growth factor (default: 1.25)  

  31. -n <bytes>    minimum space allocated for key+value+flags (default: 48)  

  32. -L            Try to use large memory pages (if available). Increasing  

  33.               the memory page size could reduce the number of TLB misses  

  34.               and improve the performance. In order to get large pages  

  35.               from the OS, memcached will allocate the total item-cache  

  36.               in one large chunk.  

  37. -D <char>     Use <char> as the delimiter between key prefixes and IDs.  

  38.               This is used for per-prefix stats reporting. The default is  

  39.               “:” (colon). If this option is specified, stats collection  

  40.               is turned on automatically; if not, then it may be turned on  

  41.               by sending the “stats detail on” command to the server.  

  42. -t <num>      number of threads to use (default: 4)  

  43. -R            Maximum number of requests per event, limits the number of  

  44.               requests process for a given connection to prevent   

  45.               starvation (default: 20)  

  46. -C            Disable use of CAS  

  47. -b            Set the backlog queue limit (default: 1024)  

  48. -B            Binding protocol – one of ascii, binary, or auto (default)  

  49. -I            Override the size of each slab page. Adjusts max item size  

  50.               (default: 1mb, min: 1k, max: 128m)  

  51. -o            Comma separated list of extended or experimental options  

  52.               – (EXPERIMENTAL) maxconns_fast: immediately close new  

  53.                 connections if over maxconns limit  

  54.               – hashpower: An integer multiplier for how large the hash  

  55.                 table should be. Can be grown at runtime if not big enough.  

  56.                 Set this based on “STAT hash_power_level” before a   

  57.                 restart.  

下面看一下���如何查看memcached进程启动是否成功,可以通过查看进程信息来确定,如下所示:
root@ www.linuxidc.com:/home/shirdrn/memcached-1.4.10# ps aux | grep memcached


  1. root     10402  0.0  0.0 126740  1060 ?        Ssl  15:03   0:00 /usr/local/memcached/bin/memcached -d -m 10 -u root -l 192.168.0.184 -p 19830 -c 5000 -P /tmp/memcached.pid  

  2. root     10411  0.0  0.0  12692  1068 pts/7    S+   15:04   0:00 grep –color=auto memcached  

可见当前存在memcached进程,进程号为10402。


再查看一下memcached监听的端口是否被memcached进程占用,如下所示:


  1. root@ www.linuxidc.com:/home/shirdrn/memcached-1.4.10# netstat -nap | grep 19830  

  2. tcp        0      0 192.168.0.184:19830     0.0.0.0:*               LISTEN      10402/memcached   

  3. udp        0      0 192.168.0.184:19830     0.0.0.0:*                           10402/memcached  

可见,memcached可以通过端口19830向外部(memcache客户端)提供缓存服务。


3、终止memcached服务


因为我们已经将memcached的进程号存储到/tmp/memcached.pid文件中,可以执行如下命令来终止服务:


  1. root@ www.linuxidc.com:/home/shirdrn/memcached-1.4.10# kill `cat /tmp/memcached.pid`  
或者:


直接通过ps获取到进程号,然后kill掉该进程即可。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux下Memcached-1.4.10安装
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏