memcached 依赖libevent库,在安装memcached之前检查下系统是否已安装libevent库,如果没有则需要先安装 libevent。
libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制
tar zxvf libevent-1.4.9-stable.tar.gz
cd libevent-1.4.9-stable
./configure --prefix=/usr/local/libevent
make
make install
cd .. 2. 安装memcached
tar zxvf memcached-1.2.8.tar.gz
cd memcached-1.2.8
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make && make install
cd ..
memcached -u root -d -m 200 -l 127.0.0.1 -p 11211 -P /var/run/memcached.pid 如果启动的时候报错:
/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory 需要修改:
ln -s /usr/local/libevent/lib/libevent-2.0.so.5 /lib64/libevent-2.0.so.5 3. 安装magent
mkdir magent
cp magent-0.5.tar.gz magent
cd magent
tar zxvf magent-0.5.tar.gz
#vim ketama.h
在开头加入
ifndef SSIZE_MAX
define SSIZE_MAX 32767
endif#vim Makefile
CFLAGS = -Wall -O2 -g 改为 CFLAGS = -lrt -Wall -O2 -gmkdir /usr/lib64
cp /usr/local/lib/libevent.a /usr/lib64
ln -s /usr/lib64/libm.so /usr/lib64/libm.a
/sbin/ldconfig
sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
make
cp magent /usr/bin/magent
cd .. #执行magent出现以下则表示成功
#magent
please provide -s "ip:port" argument
memcached agent v0.4 Build-Date: Oct 24 2016 11:08:20
Usage:
-h this message
-u uid
-g gid
-p port, default is 11211. (0 to disable tcp support)
-s ip:port, set memcached server ip and port
-b ip:port, set backup memcached server ip and port
-l ip, local bind ip address, default is 0.0.0.0
-n number, set max connections, default is 4096
-D don't go to background
-k use ketama key allocation algorithm
-f file, unix socket path to listen on. default is off
-i number, set max keep alive connections for one memcached server, default is 20
-v verbose 启动memcached各节点:
memcached1-memcached6
之前已经启动一个节点,需要把之前的节点先kill掉。