您的位置:首页 > 数据库 > Memcache

Memcached 的静态编译(Mac OS X)

2015-08-23 13:13 681 查看

起因

每次重做系统都要重新编译Memcahed等软件,还要重新配置,麻烦的要死。肯定有朋友想说了,用brew呀,小弟不是很了解brew等软件的运作,并且这对于一个使用电脑有洁癖的人来说,不能保证文件都是在自己定义的路径下是很难接受的。于是就想“为啥不能像Windows那样复制过来直接用呢?”,于是就有了静态编译Memcached的想法。

静态编译: 编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so或.lib)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。

准备工作

Memcached源码 下载

libevent 源码下载

安装GCC(其实有个Xcode就全有了)

操作步骤

libevent是Memcached依赖的网络库,所以先静态编译libevent再编译Memcached。

一、编译libevent

首先解压缩libevent的源码。我解压到了桌面上:
/Users/lipangeng/Desktop/source/Lib/libevent/libevent-2.0.22-stable


通过终端进入源码目录。

cd /Users/lipangeng/Desktop/source/Lib/libevent/libevent-2.0.22-stable


配置编译选项。

./configure --prefix=/Users/lipangeng/Desktop/binary/Lib/libevent/2.0.22 --enable-static --disable-shared


一共配置了三个属性。

prefix:安装位置

enable-static:启用静态编译

disable-shared:关闭动态编译,不编译成动态库

编译并安装

make && make install


编译后
/Users/lipangeng/Desktop/binary/Lib/libevent/2.0.22
的目录结构如图所示。



二、编译Memcached

解压Memcached源码,我解压到了
/Users/lipangeng/Desktop/source/Cache/Memcached/memcached-1.4.23


通过终端进入源码目录。

cd /Users/lipangeng/Desktop/source/Cache/Memcached/memcached-1.4.23


配置编译选项

./configure --prefix=/Users/lipangeng/Desktop/binary/Cache/Memcached/1.4.23 --with-libevent=/Users/lipangeng/Desktop/binary/Lib/libevent/2.0.22 --enable-64bit


一共配置了三个属性

prefix:文件安装位置

with-libevent:libevent静态库路径

enable-64bit:编译64位版本

编译并安装

make && make install


编译后
/Users/lipangeng/Desktop/binary/Cache/Memcached/1.4.23
目录结构如图:



成果

到目前为止我们成功获取到了memcached的运行文件。复制到任意位置都可以运行。另附上运行脚本以及下载地址。

运行脚本

#/bin/bash
echo 启动Memcached 1.4.23
#memcached 文件所在路径
cd  /Users/lipangeng/Documents/Developer/Extension/Cache/Memcached
./memcached -p 11211 -m 512 -vvv


将以上命令保存即可,并用
chmod a+x [文件名]
命令增加执行权限。以后双击就可以执行了。

已编译版本下载地址



百度网盘下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: