linux安装memcachedb服务【转】

本文详细介绍了如何在Linux环境下安装memcached服务及其PHP扩展,并提供了memcached的启动配置示例。此外,还介绍了memcachedb的安装过程及读写分离模式下的配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

memcached是一个不错的分布式内存缓存系统,并且提供丰富的客户端api,有perl,php,java的等等等等。。。

要编译安装memcached,你的系统得先安装libevent,libevent的下载地址是:http://monkey.org/~provos/libevent/
我下载的版本是:
libevent-1.4.9-stable.tar.gz
memcached-1.2.6.tar.gz

先来编译libevent,

? View Code BASH
1
./
configure --prefix
=/
usr/
local/
libevent &&
 make
 &&
 make
 install

 

好了,现在来搞memcached

? View Code BASH
1
2
3
4
./
configure --prefix
=/
usr/
local/
memcached-1.2.6 --with-libevent
=/
usr/
local/
libevent
make
 &&
 make
 install

ln
 -s
 /
usr/
local/
memcached-1.2.6 /
usr/
local/
memcached
ln
 -s
 /
usr/
local/
libevent/
lib/
libevent-1.4
.so.2 /
usr/
lib

下面来安装php对于memcached的扩展
从这里下载: pecl.php.net/package/memcache

我下载的版本是:3.0.4 beta版本,如果是用在生产上,还是建议下载稳定版本。
解压缩后进入目录,执行如下命令:

? View Code BASH
1
2
3
4
/
usr/
local/
php/
bin/
phpize
./
configure --prefix
=/
usr/
local/
memcached_phpclient3.0.4 --enable-memcache
 --with-php-config
=/
usr/
local/
php/
bin/
php-config --with-zlib-dir
=/
usr/
local/
zlib/

make

make
 install

安装完成后,会显示: Installing shared extensions: /usr/local/php-5.2.8//lib/php/extensions/no-debug-non-zts-20060613/

接下来修改php.ini
首先找到extension_dir,默认的应该是:extension_dir = “./”
现在修改成:extension_dir = “/usr/local/php-5.2.8//lib/php/extensions/no-debug-non-zts-20060613/”
然后再找到Dynamic Extensions,在下面加上:
extension=memcache.so

然后重启apache,编写一个phpinfo()的网页,你会看到如下内容,好了,这就是说memcached的php client咱们已经安装成功了。
memcache
memcache support enabled
Version 3.0.4
Revision $Revision: 1.83.2.36 $

至于怎么用,我会在后面来给出示例,要是您等不及也可以去google上搜索去,一搜哎呀妈呀一大堆啊,下面给出几个可以参考的网址:

www.danga.com/memcached/

code.google.com/p/memcached/wiki/Clients

www.ccvita.com/257.html

cn2.php.net/manual/en/memcache.installation.php

好了,还没完呢,咱们接着来启动memcached的server端吧。
其实启动memcached和启动mysql的脚本有些大同小异的意思,都是加上什么端口儿啊,用户啊什么的一大堆的零七八碎儿的参数呗。。。

? View Code BASH
1
/
usr/
local/
memcached/
bin/
memcached -d
 -m
 10
 -u
 root -l
 192.168.0.12 -p
 12000
 -c
 256
 -P
 /
tmp/
memcached.pid

-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.12,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

2.如果要结束Memcache进程,执行:

? View Code BASH
1
kill
 `
cat
 /
tmp/
memcached.pid`

也可以启动多个守护进程,不过端口不能重复。

现在再来telnet 192.168.0.12 12000 看看可以telnet上去了吧。。。嘿嘿。。。
成了,差不多就这么着了。。。

现在可以在应用中将一部分数据保存在内存中了,但是如果是服务器突然宕机了,或者是说服务不知怎么的就抽了疯似的终止了,那么保存在memcached中的数据还在么?
废tm话啊,肯定tmd不在了。。。

那怎么办?所以memcachedb出来了,这个是由新浪的研发团队贡献的开源项目,且听下回tmd分解。。。

紧接前一篇:linux安装memcached服务

—– memcachedb 的分割线 —–
memcachedb 的介绍可以看这里:http://memcachedb.org/
我下载的版本是:memcachedb-1.2.1-beta.tar.gz
memcachedb的安装需要libevent,Berkeley Db,memcachedb这三个dd,
libevent这个就不多说了,如果不知道怎么安装看这里有介绍libevent的安装

 

好了,现在从http://www.oracle.com/technology/software/products/berkeley-db/index.html 来下载,
我下载的版本是:db-4.7.25.tar.gz
解压缩并进行编译安装:

? View Code BASH
1
2
3
4
cd
 db-4.7.25/
build_unix/

../
dist/
configure
make

make
 install

然后db就被安装到了:/usr/local/BerkeleyDB.4.7/

编辑 /etc/ld.so.conf 添加
/usr/local/BerkeleyDB.4.7/lib

然后执行:

? View Code BASH
1
ldconfig

好了,前菜ok了,现在开始安装memcachedb了。。。
还是先得解压缩。。。这不废话么。。。

? View Code BASH
1
2
3
./
configure --prefix
=/
usr/
local/
memcachedb-1.2.1 --with-libevent
=/
usr/
local/
libevent --enable-threads

make
 &&
 make
 install

ln
 -s
 /
usr/
local/
memcachedb-1.2.1 /
usr/
local/
memcachedb

好啦。。。接下来就该启动memcachedb啦。。。
主程序在:/usr/local/memcachedb/bin/memcachedb

第一种,读写合并模式,即不做辅拷贝,即读又写,不做冗余备份

? View Code BASH
1
2
/
usr/
local/
memcachedb/
bin/
memcachedb -p21211
 -d
 -r
 -u
 root -H
 /
server/
mdb_11211 -N

-H
 参数是制定DB数据文件存放的位置

第二种,读写分离/备份模式
#主服务器 192.168.0.1 读写监听 11211 ,同步通过31211的端口完成,不占用繁忙的主服务端口

? View Code BASH
1
/
usr/
local/
memcachedb/
bin/
memcachedb -p21211
 -d
 -r
 -u
 root -H
 /
data/
mdb_11211_m -N
 -R
 127.0.0.1:31211
 -M

辅服务器 192.168.0.2 只读监听 21212,从192.168.0.1 的 31211端口同步数据,同时再开一个31212端口对外提供数据同步服务

? View Code BASH
1
/
usr/
local/
memcachedb/
bin/
memcachedb -p21212
 -d
 -r
 -u
 root -H
 /
data/
mdb_11211_from_16801_s -O
 192.168.0.1:31211
 -R
 192.168.0.2:31212
 -S

好了。。。现在就OK了。。。至于测试程序,忽略了。。。
可以参考的链接:

blog.youkuaiyun.com/simonlsy/archive/2008/01/07/2027940.aspx

www.tbqu.com/post/182.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值