一、Linux下Memcache服务器端的安装Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent.
用wget 指令直接下载这两个东西 . 下载回源文件后。
1.先安装 libevent 。这个东西在配置时需要指定一个安装路径,即 ./configure –prefix=/usr/local ;然后 make ;然后 make install ;
2.再安装 memcached ,只是需要在配置时需要指定 libevent 的安装路径即 ./configure –with-libevent=/usr/local ;然后 make ;然后 make install ;
这样就完成了Linux 下 Memcache 服务器端的安装。详细的方法如下:
1.分别把memcached 和 libevent 下载回来 :
# cd /usr/local/src/tarbag
# wget http://www.danga.com/memcached/dist/memcached-1.4.0.tar.gz
# wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
2.先安装libevent :
# tar zxvf libevent-1.4.13-stable.tar.gz -C ../software
# cd ../software/libevent-1.4.13-stable
# ./configure –prefix=/usr/local
# make
# make install
3.测试 libevent 是否安装成功:
# ls -al /usr/local/lib | grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
还行,都安装上了。
4.安装 memcached ,同时需要安装中指定 libevent 的安装位置:
# cd /usr/local/src/tarbag
# tar zxvf memcached-1.4.0.tar.gz -C ../software
# cd memcached-1.4.0
# ./configure –with-libevent=/usr/local
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached 放到 /usr/local/bin/memcached ,
5.测试是否成功安装 memcached :
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug
安装Memcache 的 PHP 扩展(如果是JAVA程序则不需要此步)
1.在 http://pecl.php.net/package/memcache 选择相应想要下载的 memcache 版本。
2.安装 PHP 的 memcache 扩展
wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar vxzf memcache-2.2.5.tgz -C ../software
cd ../software/memcache-2.2.5
/usr/local/php/bin/phpize
./configure -enable-memcache -with-php-config=/usr/local/php/bin/php-config -with-zlib-dir
make
make install
3.上述安装完后会有类似这样的提示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/
4.把 php.ini 中的 extension_dir = “./” 修改为
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"
5.添加一行来载入 memcache 扩展: extension=memcache.so
memcached的基本设置 :
1.启动 Memcache 的服务器端:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.50.240 -p 12000 -c 256 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给 Memcache 使用的内存数量,单位是 MB ,我这里是 10MB ,
-u是运行 Memcache 的用户,我这里是 root ,
-l是监听的服务器 IP 地址,如果有多个地址的话,我这里指定了服务器的 IP 地址 192.168.50.240
-p是设置 Memcache 监听的端口,我这里设置了 12000 ,最好是 1024 以上的端口,
-c选项是最大运行的并发连接数,默认是 1024 ,我这里设置了 256 ,按照你服务器的负载量来设定,
-P是设置保存 Memcache 的 pid 文件,我这里是保存在 /tmp/memcached.pid ,
2.如果要结束 Memcache 进程,执行:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。
3.重启 apache , /sbin/apachectl restart
Memcache环境测试 :
运行下面的php 文件,如果有输出 This is a test! ,就表示环境搭建成功。开始领略 Memcache 的魅力把!
<?php
$mem = new Memcache;
$mem->connect("192.168.50.240", 12000);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
二、repcached 实现 memcached 的复制功能
repcached是日本人开发的实现 memcached 复制功能,它是一个单 master 单 slave 的方案,但它的 master/slave 都是可读写的,而且可以相互同步,如果 master 坏掉, slave 侦测到连接断了,它会自动 listen 而成为 master ;而如果 slave 坏掉, master 也会侦测到连接断,它就会重新 listen 等待新的 slave 加入
安装:
先安装memcached( 我安装的 1.2.8)
有两种方式:
方式一、下载对应的repcached 版本
#wget http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz
#tar zxf memcached-1.2.8-repcached-2.2.tar.gz
#cd memcached-1.2.8-repcached-2.2
方式二、下载对应patch 版本
#wget http://downloads.sourceforge.net/repcached/repcached-2.2-1.2.8.patch.gz
#gzip -cd ../repcached-2.2-1.2.8.patch.gz | patch -p1
#./configure --enable-replication
# make
# make install
启动:
启动master
#memcached -v -l 192.168.50.240 -p 11211 -uroot
replication: listen (master监听 )
启动salve
#memcached -v -l 192.168.50.241 -p 11213 -uroot -x 127.0.0.1 -X 11212
replication: connect (peer=192.168.50.240:11212)
replication: marugoto copying
replication: start
启动正常后,master 将 accept 。 测试:
操作master
#telnet 192.168.50.240 11211
#set key1 0 0 3
111
查看slave
#telnet 192.168.50.241 11213
#get key1
如果正常表示,配置成功
应用:
可以实现cache 冗余
注意:如果master down 机, slave 接管并成为 master ,这时 down 机的 master 只能启用 slave, 他们之间互换角色,才能保持复制功能。换句话说, master 没有抢占功能。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com