memcached源码安装(linux和windows)

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

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

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

接下来和linux上安装编译同样centos

 

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

若是是centos6.8或7.2.1511版本,也能够考虑直接下载使用:http://www.cnblogs.com/skey_chen/p/5749164.htmlspa

 

若是须要在windows下使用,也可直接下载下面将会说到的windows版本.net

windows_x86_32:线程

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

windows_x86_64:blog

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

 

开始源码编译

一、先编译安装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

二、编译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

三、配置及安装memcached

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

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

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

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

保存后便可继续操做

make
make install

四、若是不是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环境才须要这个)

相关文章
相关标签/搜索