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環境才須要這個)

相關文章
相關標籤/搜索