centos安装memcached(转载)

转载文章,转自

http://www.sunchis.com/html/db/memcached/2011/0526/333.html

在CentOS 5.6上编译安装Memcached

1、由于memcached是基于libevent的,因此需要安装libevent,libevent-devel

  1. # yum install libevent libevent-devel -y 

2、下载并解压memcached-1.4.5

memcached官方网站是:http://memcached.org/

  1. # cd /root 
  2. # wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz 
  3. # tar -xvzf  memcached-1.4.5.tar.gz 

3、编译安装memcached-1.4.5

  1. # cd memcached-1.4.5 
  2. # ./configure --prefix=/etc/memcached 
  3. # make 
  4. # make install 

4、配置环境变量

进入用户宿主目录,编辑.bash_profile,为系统环境变量LD_LIBRARY_PATH增加新的目录,需要增加的内容如下:

# vi .bash_profile

  1. MEMCACHED_HOME=/etc/memcached 
  2. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MEMCACHED_HOME/lib 

刷新用户环境变量:# source .bash_profile

5、编写memcached服务启停脚本

# cd /etc/init.d

vi memcached,脚本内容如下:

  1. #!/bin/sh 
  2. # Startup script for the server of memcached 
  3. # processname: memcached 
  4. # pidfile: /etc/memcached/memcached.pid 
  5. # logfile: /etc/memcached/memcached_log.txt 
  6. # memcached_home: /etc/memcached 
  7. # chkconfig: 35 21 79 
  8. # description: Start and stop memcached Service 
  9.  
  10. # Source function library 
  11. . /etc/rc.d/init.d/functions 
  12.  
  13. RETVAL=0 
  14.  
  15. prog="memcached" 
  16. basedir=/etc/memcached 
  17. cmd=${basedir}/bin/memcached 
  18. pidfile="$basedir/${prog}.pid" 
  19. #logfile="$basedir/memcached_log.txt" 
  20.  
  21. # 设置memcached启动参数 
  22. ipaddr="192.168.1.201"    # 绑定侦听的IP地址 
  23. port="11211"                    # 服务端口 
  24. username="root"                 # 运行程序的用户身份 
  25. max_memory=64                   # default: 64M | 最大使用内存 
  26. max_simul_conn=1024             # default: 1024 | 最大同时连接数 
  27. #maxcon=51200 
  28. #growth_factor=1.3              # default: 1.25 | 块大小增长因子 
  29. #thread_num=6                   # default: 4 
  30. #verbose="-vv"                  # 查看详细启动信息 
  31. #bind_protocol=binary           # ascii, binary, or auto (default) 
  32.  
  33. start() { 
  34.     echo -n $"Starting service: $prog" 
  35.     $cmd -d -m $max_memory -u $username -l $ipaddr -p $port -c $max_simul_conn -P $pidfile 
  36.     RETVAL=$? 
  37.     echo 
  38.     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog 
  39.  
  40. stop() { 
  41.     echo -n $"Stopping service: $prog  " 
  42.     run_user=`whoami` 
  43.         pidlist=`ps -ef | grep $run_user | grep memcached | grep -v grep | awk '{print($2)}'` 
  44.         for pid in $pidlist 
  45.         do 
  46. #           echo "pid=$pid" 
  47.             kill -9 $pid 
  48.             if [ $? -ne 0 ]; then 
  49.                 return 1 
  50.             fi 
  51.         done 
  52.     RETVAL=$? 
  53.     echo 
  54.     [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog 
  55.  
  56. # See how we were called. 
  57. case "$1" in 
  58.     start) 
  59.         start 
  60.         ;; 
  61.     stop) 
  62.         stop 
  63.         ;; 
  64.     #reload) 
  65.     #    reload 
  66.     #    ;; 
  67.     restart) 
  68.         stop 
  69.         start 
  70.         ;; 
  71.     #condrestart) 
  72.     #    if [ -f /var/lock/subsys/$prog ]; then 
  73.     #        stop 
  74.     #        start 
  75.     #    fi 
  76.     #    ;; 
  77.     status) 
  78.         status memcached 
  79.         ;; 
  80.     *) 
  81.         echo "Usage: $0 {start|stop|restart|status}" 
  82.         exit 1 
  83. esac 
  84.  
  85. exit $RETVAL 

设置脚本可被执行:# chmod +x memcached

6、设置memcached随系统启动

  1. # chkconfig --add memcached 
  2. # chkconfig --level 35 memcached on 

启动memcached

  1. # service memcached start 
  2. //启动的时候实际上是调用了下面的这个命令,以守护进程的方式来启动memcached  
  3. /etc/memcached/bin/memcached -d -m 64 -u root -l 192.168.1.201  
  4. \-p 11211 -c 1024 -P /etc/memcached/memcached.pid 

查看memcached是否启动:

# ps -ef | grep memcached