memcached: 基于linux的安装

本文主要主要教大家在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        --安装路径

     如果有安装,则显示一下信息,不同系统可能显示的不一样,我的是:

 memcached: 基于linux的安装

    从以上信息截图可以看出来,我系统默认的是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

memcached: 基于linux的安装

    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: 基于linux的安装

    从结果可以看出,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: 基于linux的安装


好啦,到这里,memcached简单安装就完成了,不太明白的可以慢慢看,仔细理解,希望对大家有帮助。

你可能感兴趣的:(memcached: 基于linux的安装)