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 [文件名]命令增加执行权限。以后双击就可以执行了。
已编译版本下载地址
百度网盘下载
相关文章推荐
- Memcached 在windows下的java使用
- Memcached vs. MongoDB vs. Redis Comparison
- Memcached剖析
- memcache实例:缓存一条sql语句的执行结果
- Centos5.5 安装memcache
- Memcached
- Memcache缓存 vs 直接File文件缓存
- Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用
- Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(1)-介绍及使用
- memcached面试题集锦
- php memcache
- Nginx + Tomcat + Memcached 集群
- Memcache启动&存储原理&集群
- 常用memcached命令详解
- 使用Telnet访问Memcached
- Memcached简介
- php 操作 Memcache
- Memcache学习php完整一例
- Memcache学习笔记
- memcache和redis区别