tar -zxf memcached-1.2.8-repcached-2.2.tar.gz
二、编译:
系统应安装了libevent,libevent-1.4.13-stable.tar;
./configure --enable-replication --prefix=/home/taiyue/repcached --with-libevent=/home/taiyue/libevent
报错:checking build system type... Invalid configuration `i686-pc-linux-': machine `i686-pc-linux' not recognized
./configure --enable-replication --build=i686-pc-linux-gnu --prefix=/home/usd/repcached --with-libevent=/usr/lib
报错:configure: error: no acceptable C compiler found in $PATH //缺乏gcc编译器
经过界面进行gcc的安装。
./configure --enable-replication --build=i686-pc-linux-gnu成功以后:make
报错:-bash: make: command not found;须要安装make。
make install(必须使用root才能安装??不是非root用户编译的时候指名--prefix安装地址便可,启动的时候不要直接memcached-。。。必须加上安装路径)
make报错:error while loading shared libraries: libmpc.so.2: cannot open shared object file 。。。。
添加:export LD_LIBRARY_PATH=/usr/local/mpc-0.8.1/lib
注意:make的时候报错linux
memcached.c: 在函数‘add_iov’中: memcached.c:696:30: 错误: ‘IOV_MAX’未声明(在此函数内第一次使用) memcached.c:696:30: 附注: 每一个未声明的标识符在其出现的函数内只报告一次 make[2]: *** [memcached-memcached.o] 错误
须要修改 memcached.c 文件:bash
/* FreeBSD 4.x doesn't have IOV_MAX exposed. */ #ifndef IOV_MAX #if defined(__FreeBSD__) || defined(__APPLE__) # define IOV_MAX 1024 #endif #endif 改为: /* FreeBSD 4.x doesn't have IOV_MAX exposed. */ #ifndef IOV_MAX # define IOV_MAX 1024 #endif
三、运行:
主:/home/taiyue/repcached/bin/memcached -v -d -u usd -p 11211
从:/home/taiyue/repcached/memcached -v -d -u usd -x 127.0.0.1 -p 11213
红色的目录必定要带上,由于使用非root帐户安装的软件没有在系统环境变量地下,于是直接使用memcached命令将提示command not
found。
主宕掉之后重启:
/home/taiyue/repcached/memcached -v -d -u usd -x 127.0.0.1 -p 11211
四、网上不少对repcached启动的参数理解不正确,repcached 新添加的两个参数-x以及-X应该这么理解:
-x为要监听的另外一台机器的IP,-X为本机的复制端口()(A和B两台机子必须复制端口相同)
例如本机为:133.96.93.107,另外一台机子为133.96.93.108
那么 133.96.93.107启动的时候:memcached -d -v -p 44444 -x 133.96.93.108 -X 66666
-p表明133.96.93.107对外提供服务的地址,-x 133.96.93.108为要监听复制的地址, -X 66666声明要133.96.93.107打开此端口供赋值打开的是133.96.93.107上的端口或者理解为133.96.93.108要提供的复制端口,由于端口是必须相同的。
那么 133.96.93.108启动的时候:memcached -d -v -p 44444 -x 133.96.93.107 -X 66666 只须要改变-x的参数便可