安装文件:
据说magent-0.5.tar.gz相对稳定点
四台服务器:192.168.200.200~250
Magent代理服务器:192.168.200.220、192.168.200.230
Memcache备份服务器:192.168.200.240、192.168.200.250
Memcache存储服务器1:1192.168.200.200
Memcache存储服务器2:192.168.200.210
Memcache服务器安装配置(192.168.200.200~250)
首先:配置本地YUM源,挂载光驱,安装编译器
yum install gcc gcc-c++
yum install gcc gcc-c++ libgnomeui-devel
yum install libevent-devel
yum install gcc* make*
1、编译安装libevent:
cd libevent-1.4.9-stable/
mkdir /usr/local/libevent
上传文件(tar zxvf libevent-2.1.8-stable.tar)
tar zxvf libevent-2.1.8-stable.tar
./configure -prefix=/usr (或 ./configure --program-prefix=/usr)
libevent会安装到 /usr/lib 或 /usr/local/lib 下
make
make install
测试是否安成功:ls -al /usr/lib | grep libevent(或 ls -al /usr/local/lib | grep libevent)
2、编译安装Memcached:
wget http://danga.com/memcached/dist/memcached-1.2.6.tar.gz
tar zxvf memcached-1.2.6.tar.gz
cd memcached-1.2.6/
mkdir /usr/local/memcached
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
make
make install
3、启动memcached服务器:
/usr/local/memcached/bin/memcached -m 100 -u root -d -l 127.0.0.1 -p 11211
4、 安装magent
mkdir /usr/local/magent
上传(magent-0.6.tar.gz )
tar xzvf ./magent-0.6.tar.gz
/sbin/ldconfig
sed -i "s/LIBS = -levent/LIBS = -levent -lm/g" Makefile
ln -s /usr/lib64/libm.so /usr/lib64/libm.a
make
cp ./magent /usr/bin/magent
telnet 192.168.200.220 2000
telnet 192.168.200.230 2000
telnet 192.168.200.241 2000
5、启动magent:
magent -u root -n 51200 -l 192.168.200.220 -p 2000 -s 192.168.200.200:11211 -s 192.168.200.210:11211 -b 192.168.200.240:11211 -b 192.168.200.250:1121
查看是否启动成功:ps aux|grep magent
显示两行 root,则说明安装成功了,
由于没有找到magent重启相关命令,则需要用kill进程后再进行配置启动
magent命令详解:
-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 do not go to background
-k use ketama key allocation algorithm
-f file, unix socket path to listen on. default is off
-i number, max keep alive connections for one memcached server, default is 20
-v verbose
常见错误:
magent.c:729: 错误:‘SSIZE_MAX’未声明(在此函数内第一次使用)
magent.c:729: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
magent.c:729: 错误:所在的函数内也只报告一次。)
make: *** [magent.o] 错误 1
解决方案:
#在ketama.h开头加入(过滤掉特殊字符)
#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
#endif
继续make
cp magent /usr/bin/magent
gcc: 错误:/usr/lib64/libevent.a:没有那个文件或目录
gcc: 错误:/usr/lib64/libm.a:没有那个文件或目录
解决方案
ln -s /usr/lib64/libm.so /usr/lib64/libm.a