本文主要主要教大家在linux环境上搭建memcache环境,首先来看看我的搭建的测试环境。
一、首先我们来看看搭建memcached环境需要做哪些准备工作。
1. linux版本:rhel 5.6
2. memcached安装所需基本组件:
a) libevent:这里我采用的版本是:http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz
b) memcached: 这里我采用的版本是: http://www.danga.com/memcached/dist/memcached-1.2.6.tar.gz
c) 将以上两个组件放在/usr/tmp文件下,然后解压,等到源码文件夹
tar -zxvf libevent-1.4.9-stable.tar.gz tar -zxvf memcached-1.2.6.tar.gz
二、记下来准备开始安装。
在安装前,我的linux环境已经装好,所以此处不在仔细讲解,因为我们的目的是讲解memcached的安装。
1. 先安装libevent
注意:linux系统是否已经安装了libevent,一般来说,有一些系统是默认暗转了libevent的,只是版本可能稍低一点,所以我们可以卸载默认安装的,然后安装自己的版本。
1.1 检查是否安装了libevent,如果系统默认有安装,以下命令是可以检测是否安装以及安装路径
rpm -qa|grep libevent --是否安装 rpm -ql libevent --安装路径
如果有安装,则显示一下信息,不同系统可能显示的不一样,我的是:
从以上信息截图可以看出来,我系统默认的是libevent-1.4.13-1版
1.2 卸载默认安装的libevent
rpm -e libevent-1.4.13 --nodeps
1.3 安装自定义版libevent,进入libevent源码文件夹
cd /usr/tmp/libevent-1.4.9-stable ./configure --prefix=/usr make make install
1.4 测试libevent是否安装成功
ls -al /usr/lib | grep libevent
ok, 还不错哦,安装成功了。
2. 安装memcached
2.1进入memcached解压目录,然后开始安装
cd /usr/tmp/memcached-1.2.6 ./configure --with-libevent=/usr --prefix=/usr/local/ make make install
安装完成后,会将memcached放到/user/local/bin/memcached
3. 测试memcached是否安装成功,直接启动就知道啦,运行以下命令。
/usr/local/bin/memcached -p 11211 -d -u root -m 128 -c 1024 -vvv
启动参数介绍:
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,这里是10MB,
-u 是运行Memcache的用户,这里是root,
-l 是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.200,
-p 是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口,
-c 选项是最大运行的并发连接数,默认是1024,这里设置了256,按照服务器的负载量来设定,
-P 是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,也可以启动多个守护进程,
不过端口不能重复。
很遗憾,这里我们报错了一下错误:
memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
上述问题原因可能有两个:
1) 确实没有找到libevent-1.4.so.2
2) 安装了libevent,但是libevent-1.4.so.2路径没有配置对,具体配置路径我们来分析分析。
问题1分析:
查看是否有libevent-1.4.so.2
find /usr -name libevent-1.4.so.2
我的系统显示结果是:
说明,我的系统是安装了libevent的,且libevent-1.4.so.2是存在的,所以可能是路径问题。
问题2分析:
输入以下memcached命令
LD_DEBUG=libs /usr/local/bin/memcached -v
显示结果是:
从结果可以看出,memcached在/usr/lib64和/lib64下查找文件,而上面我们看到libevent-1.4.so.2所在路径 是:/usr/libevent/lib/libevent-1.4.so.2,所以查找文件失败。
解决方案: 做动态链接
具体步骤如下:
a) 进入以下目录:
/etc/ld.so.conf.d/
b) 创建libevent.conf文件,内容为ibevent-1.4.so.2的路径:
/usr/libevent/lib/libevent-1.4.so.2
c) 在/etc/ld.so.conf.d/目下下通过ldconfig命令来做链接
ldconfig
ok, 我们在来启动memcached试试,输入启动命令。
/usr/local/bin/memcached -p 11211 -d -u root -m 128 -c 1024 -vvv
启动结果如下:
好啦,到这里,memcached简单安装就完成了,不太明白的可以慢慢看,仔细理解,希望对大家有帮助。