Memcached 安装
Memcached 安装
小骏骏 发表于4年前
Memcached 安装
  • 发表于 4年前
  • 阅读 64
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 应用缓存工具Memcached 的服务端在Linux环境下的安装方法和相关问题

1. 安装步骤:

a. 需要libevent的支持,先安装它

cd /usr/local/src ---安装到该目录下
wget http://www.monkey.org/~provos/libevent-1.2.tar.gz ---下载libevent
tar zxvf libevent-1.2.tar.gz ---解压
cd libevent-1.2/
./configure --prefix=/usr/local/libevent
make && make install

b.再安装Memcached 

cd /usr/local/src
wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
tar zxvf memcached-1.2.0.tar.gz
cd memcached-1.2.0
./configure --prefix=/usr/local/memcached
make && make install

c.设置自动启动

vi /etc/rc.d/rc.local

加入行

/usr/local/memcached/bin/memcached -d -m 32 -l 127.0.0.1 -p 11211 -u root  ##为memcached分配32M内存

2.安装过程中遇到的常见问题及处理方法

a. 问题:checking for libevent directory... configure: error: libevent is required.

   解决方法:

    (1) 查看系统安装的libevent    

# rpm -qa | grep libevent

 (2) 如果已经安装(一般系统会有个默认的版本),然后升级

yum -y install libevent
yum install libevent-devel

 测试libevent是不是已经安装成功

ls -al /usr/lib | grep libevent

然后再重新安装下memcached就OK了

3. Linux 下启动的shell, 在/usr/local/memcached/bin下创建如下文件:

 a. env.src

##Memcached installed directory
export MEMCACHED_HOME=/usr/local/memcached
##The file contain the thread id which the Memcached setup.
export PID_FILE=$MEMCACHED_HOME/memcached.pid
##The max memory size in MB.
export MAX_MEM=256
##The system user for Memcached to setup.
export SETUP_USR=jboss

##Port of using
export LISTEN_PORT=3200

##Number of threads.
export THREAD_NUM=4

b. start_mem.sh

#!/bin/sh
script_dir=$( cd $( dirname $0 ) && pwd )
source $script_dir/env.src
source $script_dir/helpfunc.sh
if [ -n "$1" ]; then
  export LISTEN_PORT=$1
  export PID_FILE=$(getPidFile $MEMCACHED_HOME $LISTEN_PORT)
  echo "Pid file:$PID_FILE"
fi
nohup $MEMCACHED_HOME/bin/memcached -d -m $MAX_MEM -l 10.191.5.123 -u $SETUP_USR -t $THREAD_NUM -p $LISTEN_PORT -P $PID_FILE &
sleep 3
PID=`cat $PID_FILE`
echo "Memcached is started in process $PID"

c. shutdown_mem.sh

#!/bin/sh
script_dir=$( cd $( dirname $0 ) && pwd )
###echo dir:$script_dir/env.src
source $script_dir/env.src
source $script_dir/helpfunc.sh

if [ -n "$1" ]; then
  export LISTEN_PORT=$1
  export PID_FILE=$(getPidFile $MEMCACHED_HOME $LISTEN_PORT)
  echo "Pid file:$PID_FILE"
fi

echo $PID_FILE
PID=`cat $PID_FILE`
echo "Shutdowning, please wait a minute....."
sleep 2
kill -9 $PID && echo "Memcached is shutdown successfully!" || "Failure to shutdown Memcached! Error: $?"
if [ "$?" == "0" ]; then
    echo "Deleting pid file"
	rm $PID_FILE
fi

d. helperfunc.sh

####
function getPidFile() {
  local mhome=$1
  local port=$2
  echo "$mhome/memcached.$port.pid"
}

  

可以通过修改env.src 的端口号,在同一台机器上多次运行start_mem.sh [端口号(可选,默认取env.src中的LISTEN_PORT)],同时可以启动多个memcache 实例.

 




共有 人打赏支持
粉丝 9
博文 110
码字总数 22428
×
小骏骏
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: