日期:2014-05-16  浏览次数:20698 次

安装MemCache_Linux
准备Memcache安装文件
libevent-2.0.16-stable.tar.gz
memcached-1.4.10.tar.gz


安装libevent
步骤 1 以root用户的身份登录服务器。
步骤 2 执行如下命令,进入目录/usr/memcache下。
        cd /usr/memcache
步骤 3 执行如下命令,解压libevent安装包。
        tar xvfz libevent-2.0.16-stable.tar.gz
步骤 4 执行如下命令,进入libevent安装包的解压目录。
        cd libevent-2.0.16-stable/
步骤 5 依次执行如下命令,安装libevent。
        ./configure -prefix=/usr/local/libevent
        make
        make install

/usr/local/libevent为libevent的安装目录。
----结束




安装memcache
步骤 1 以root用户身份登录服务器。
步骤 2 执行如下命令,进入目录/usr/memcache下。
        cd /usr/memcache
步骤 3 执行如下命令,解压memcache安装包。
        tar xvfz memcached-1.4.10.tar.gz
步骤 4 执行如下命令,进入memcache安装包的解压目录。
        cd memcached-1.4.10/
步骤 5 依次执行如下命令,安装memcache。
        ./configure -prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
        make
        make install

/usr/local/libevent为libevent的安装目录。/usr/local/memcached为memcache的安装目录。

备注:
在suse下安装memcache,使用make命令的时候会报以下错误
error: array subscript is above array bounds
解决方法:
         修改/usr/memcache/memcached-1.4.10/ memcached.c文件中的方法为
inline static void process_stats_detail(conn *c, const char *command) {
    assert(c != NULL);

    char on[] = "on";
    char off[] = "off";
    char dump[] = "dump";
    if (strcmp(command, on) == 0) {
         settings.detail_enabled = 1;
         out_string(c, "OK");
    }
    else if (strcmp(command, off) == 0) {
        settings.detail_enabled = 0;
        out_string(c, "OK");
    }
    else if (strcmp(command, dump) == 0) {
        int len;
        char *stats = stats_prefix_dump(&len);
        write_and_free(c, stats, len);
    }
    else {
        out_string(c, "CLIENT_ERROR usage: stats detail on|off|dump");
    }
}
----结束



安装验证

步骤 1 以root用户身份登录服务器。

步骤 2 执行如下命令,启动memcache。
/usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.10.96 -p 11212 -c 1024 -P /tmp/memcached_11212.pid

    /usr/local/memached:memcache的安装目录
    -d:启动一个守护进程
    -m:分配给memcache使用的内存数量,单位是MB,当前配置为100MB
    -u:运行memcache的用户,当前配置为root
    -l:监听的服务器IP地址
    -p:memcache监听的端口,当前设置为11212
    -c:最大运行的并发连接数(默认为1024)
    -P:设置保存memcache的进程ID文件

步骤 3 执行如下命令,查看memcache的运行状态。
        ps -ef | grep memcached | grep 11212
显示如下信息,如果有memc