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

猜你喜欢

转载自xieye.iteye.com/blog/1720347