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.zip,memcached-win32-1.4.29-msys2.0.zip
windows_x86_64:
memcached-win64-1.4.29-cygwin2.5.2.zip,memcached-win64-1.4.29-msys2.0.zip
也提供另一个网上的版本,轻巧无依赖,并可直接通过memcached -d install直接安装到windows服务:
memcached-win32-1.4.4-14.zip,memcached-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环境才需要这个)
memcached源码安装(linux和windows)的更多相关文章
- MYSQL5.5源码安装 linux下
/* 首先安装必要的库 */ yum -y install gcc* ###### 安装 MYSQL ###### 首先安装camke 一.支持YUM,则 yum install -y cmake 二 ...
- Git源码安装 Linux指定安装目录
1.安装依赖包 $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 2.下载最新版源码包https: ...
- 【ImageMagick】Unix Windows 源码安装
[ Unix 源码安装 | Windows 源码安装 ] 首先检查一下电脑里已经安装的ImageMagick版本,输入: convert -version 除非你想要把对另外的图像格式的支持或升级 ...
- Linux 源码安装 FFmpeg
加班次数频繁,已经快一年没有写博了.由于此次在项目中使用到了 FFmpeg 来处理音视频,顾记录下在 Linux 系统中源码安装 FFmpeg 以便不时之需. 1. 安装 yasm yasm 是一个汇 ...
- CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境【转载】
本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.h ...
- Linux软件安装管理---源码安装
在Linux平台下,软件包的类型可以划分为两类:源码包.二进制包. 源码包: 即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后再压缩的资源包). 二进制包: 如 Red Hat ...
- 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展
上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...
- Linux MySQL源码安装缺少ncurses-devel包
在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and ...
- linux(centos)源码安装git
最近使用一个开源库,部署的的时候需要用git克隆依赖库.刚好系统没安装git.就尝试了源码安装git. 源码下载地址:http://codemonkey.org.uk/projects/git-sna ...
随机推荐
- android获取textview的行数
最近项目需求,需要获取Textview的行数,通过行数与TextView的maxLines进行比较来确定是否显示TextView下方的展开按钮是否显示,废话少说直接上代码,mTextView.getL ...
- (转载)Resin安装配置及使用教程
Resin是一个提供高性能的,支持 Java/PHP 的应用服务器.目前有两个版本:一个是GPL下的开源版本,提供给一些爱好者.开发人员和低流量网站使用:一种是收费的专业版本,增加了一些更加适用于生产 ...
- swift language
API reference Swift UIKit Swift 菜鸟教程 Great Installed Visual Studio Code, I found I cannot open it fr ...
- C#大文件读取和查询--内存映射
笔者最近需要快速查询日志文件,文件大小在4G以上. 需求如下: 1.读取4G左右大小的文件中的指定行,程序运行占用内存不超过500M. 2.希望查询1G以内容,能控制在20s左右. 刚开始觉得这个应该 ...
- 有一道题,大家能帮我看一下哪里错了吗?c++的
有一道题我不知道是哪里错了,大神们帮忙看一下,谢谢! 试题描述: 在四位自然数中有这样一些特点的数:(1)它们是素数:(2)将这些素数加上45后得到一个新的数值:(3)请同学们在这些新的数值中挑选出: ...
- bzoj3884 上帝与集合的正确用法
a^b mod P=a^(b mod phi(p)) mod p,利用欧拉公式递归做下去. 代码 #pragma comment(linker,"/STACK:1024000000,1024 ...
- (转)学习使用Jmeter做压力测试(三)--数据库测试
数据库测试 JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本. 根据脚本,JMeter可通过线程组来模拟真实用户对Web ...
- 据库都有哪些锁 然后 Kill session
当某个数据库用户在数据库中插入.更新.删除一个表的数据,或者增加一个表的主键时或者表的索引时,常常会出现ora-00054:resource busy and acquire with nowait ...
- 《玩转D语言系列》三、轻松大跃进,把它当C语言先用起来
前面说过,本系列文章的前提是您懂C语言,懂面向对象中的一些概念,如果没有任何变成基础,从零开始学习D语言将是一个漫长的过程,因为很多概念都要重新诠释,让一个没有基础的人经过漫长的学习过程,然后还找不到 ...
- JS字符串替换函数:Replace(“字符串1″, “字符串2″),
JS字符串替换函数:Replace(“字符串1″, “字符串2″), 1.我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉, ...