zoukankan      html  css  js  c++  java
  • memcached源码安装(linux和windows)

    如果是在windows环境下编译安装,我这边是基于cygwin或msys2方式

    安装cygwin环境,http://www.cnblogs.com/skey_chen/p/5765179.html

    安装msys2环境,http://www.cnblogs.com/skey_chen/p/5765675.html

    接下来和linux上安装编译一样

    如果是在linux环境安装memcached的话,直接忽略上面的内容即可

    如果是centos6.8或7.2.1511版本,也可以考虑直接下载使用:http://www.cnblogs.com/skey_chen/p/5749164.html

    如果需要在windows下使用,也可直接下载下面将会说到的windows版本

    windows_x86_32:

    memcached-win32-1.4.29-cygwin2.5.2.zipmemcached-win32-1.4.29-msys2.0.zip

    windows_x86_64:

    memcached-win64-1.4.29-cygwin2.5.2.zipmemcached-win64-1.4.29-msys2.0.zip

    也提供另一个网上的版本,轻巧无依赖,并可直接通过memcached -d install直接安装到windows服务:

    memcached-win32-1.4.4-14.zipmemcached-win64-1.4.4-14.zip

    memcached依赖libevent

    本文使用版本为:

    libevent-2.0.22-stable.tar.gz

    相关下载:http://downloads.sourceforge.net/levent/libevent-2.0.22-stable.tar.gz

    memcached-1.4.29.tar.gz

    相关下载:http://memcached.org/files/memcached-1.4.29.tar.gz

    开始源码编译

    1、先编译安装libevent

    tar zxvf libevent-2.0.22-stable.tar.gz -C /usr/local/src
    cd /usr/local/src/libevent-2.0.22-stable
    ./configure --prefix=/usr/local/libevent
    make && make install

    在这里,我们可以看到生成了以下一些库(so或dll)

    libevent_core:核心的事件和缓冲功能
    libevent_extra:定义协议特定功能,包括HTTP、DNS和RPC。不确认是不是真的要用
    libevent:网上说不要使用这个库,历史原因而存在,包含libevent_core和libevent_extra的内容,但实际在windows环境中运行时,使用的就是它
    libevent_pthreads:添加基于pthread可移植线程库的线程和锁定实现。它独立于libevent_core

    2、编译memcached

    tar -zxvf memcached-1.4.29.tar.gz -C /usr/local/src
    cd /usr/local/src/memcached-1.4.29
    ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent

    3、配置及安装memcached

    如果是linux安装,则直接在第2步的基础上直接运行,如果是cygwin或msys2方式,直接make是会失败的,需要修改Makefile文件

    打开/usr/local/src/memcached-1.4.29/Makefile

    找到找到CFLAGS = -g -02...这一行,搜索下CFLAGS

    删除CFLAGS后面带的一个参数:-Werror

    保存后即可继续操作

    make
    make install

    4、如果不是cygwin或msys2环境,上面已经完成所有工作了

    可以看到/usr/local/libevent/bin下有四个dll,对应上面提到的四个库文件,只需要其中一个

    目录/usr/local/memcached/bin下只有一个memcached.exe文件

    如果是cygwin环境,我们复制三或四个文件

    /usr/local/libevent/bin/cygevent-2-0-5.dll

    /usr/local/memcached/bin/memcached.exe

    /bin/cygwin1.dll

    /bin/cyggcc_s-1.dll (32位cygwin环境才需要这个)

     

    如果是msys2环境,我们复制三个文件

    /usr/local/libevent/bin/libevent-2-0-5.dll (32位msys2环境没有这个文件生成)

    /usr/local/memcached/bin/memcached.exe

    /usr/bin/msys-2.0.dll

    /bin/msys-gcc_s-1.dll (32位msys2环境才需要这个)

  • 相关阅读:
    和Java相关的书籍,想成为架构师的请收藏一下啊
    CF1404C Fixed Point Removal 题解
    Harbour.Space Scholarship Contest 2021-2022 (open for everyone, rated, Div. 1 + Div. 2) E~G 题解
    ABC223G Vertex Deletion 题解
    ARC103D Distance Sums 题解
    ARC103B Robot Arms 题解
    ABC221G Jumping sequence 题解
    ABC221F Diameter set 题解
    ABC211H Count Multiset 题解
    CF1342E Placing Rooks 题解
  • 原文地址:https://www.cnblogs.com/skey_chen/p/5757957.html
Copyright © 2011-2022 走看看