一、Go环境的安装

1、下载地址 https://golang.org/dl/
2、解压 tar -zxvf go1.7.1.linux-amd64.tar.gz -C /usr/local
3、修改配置文件
   vi /etc/profile
    export GOROOT=/usr/local/go
    export GOPATH=/usr/local/data/go
    export PATH=$PATH:$GOROOT/bin:$GOPATH

4、查看安装完成
  go version
详细文档查看:https://golang.org/doc/install

二、编译codis源码

  (1)、安装go环境 检查环境
    go version
    (2)、设置编译环境
    注意 $GOPATH 是本机所有第三方库 go 项目所在目录,Codis 仅是其中之一。
    添加 $GOPATH/bin 到 $PATH,例如:PATH=$PATH:$GOPATH/bin,并安装 godep 工具。
    $ go env GOPATH
      /usr/local/data/g

    安装godep方法:
      下载godep源码:https://github.com/tools/godep
      mkdir $GOPATH/src/github.com/tools/godep
      将 godep 目录移动到 $GOPATH/src/github.com/tools/godep,并进入该目录;
      运行命令 go install ./,该命令会将 godep 生成到 $GOPATH/bin 下。

(3)、编译codis
    下载 Codis 源代码 https://github.com/CodisLabs/codis/releases
    Codis 源代码需要下载到 $GOPATH/src/github.com/CodisLabs/codis:
    $ mkdir -p $GOPATH/src/github.com/CodisLabs
    $ cd $GOPATH/src/github.com/CodisLabs
    将源码下载后上传到该目录 并重命名为codis
    $ cd $GOPATH/src/github.com/CodisLabs/codis
    $ make
    看到如下效果:

make -j -C extern/redis-2.8.21/
... ...
go build -i -o bin/codis-dashboard ./cmd/dashboard
go build -i -o bin/codis-proxy ./cmd/proxy
go build -i -o bin/codis-admin ./cmd/admin
go build -i -o bin/codis-ha ./cmd/ha
go build -i -o bin/codis-fe ./cmd/fe

  

$ ls bin/
total 69124
   drwxr-xr-x 4 codis codis 4096 Jan 4 14:55 assets
   -rwxr-xr-x 1 codis codis 17600752 Jan 4 14:55 codis-admin
   -rwxr-xr-x 1 codis codis 18416320 Jan 4 14:55 codis-dashboard
   -rwxr-xr-x 1 codis codis 9498040 Jan 4 14:55 codis-fe
   -rwxr-xr-x 1 codis codis 9956328 Jan 4 14:55 codis-ha
   -rwxr-xr-x 1 codis codis 11057280 Jan 4 14:55 codis-proxy
   -rwxr-xr-x 1 codis codis 4234432 Jan 4 14:55 codis-server
   -rw-r--r-- 1 codis codis 148 Jan 4 14:55 version
   ... ...

$ cat bin/version
  version = 2016-01-03 14:53:22 +0800 @51f06ae3b58a256a58f857f590430977638846a3
  compile = 2016-01-04 15:00:17 +0800 by go version go1.5.2 linux/amd64

(4)该编译成功的codis即可安装
  tar -zcvf codis3.1.3-go1.7.4-linux.tar.gz codis

Codis的源码编译生成tar包的更多相关文章

  1. 转】MyEclipse使用总结——使用MyEclipse打包带源码的jar包

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4136303.html 感谢! 平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不 ...

  2. MyEclipse使用总结——使用MyEclipse打包带源码的jar包

    平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...

  3. eclipse导出附带源码的jar包

    最近在搞Andengine游戏开发,发现andengine的jar包可以直接点击查看源码,而其他项目的jar包却看不了,因此自己研究了下如何生成可以直接查看源码的jar包. 1.eclipse中点击项 ...

  4. MyEclipse打包带源码的jar包

    平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...

  5. Eclipse使用总结——使用Eclipse打包带源码的jar包

    平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...

  6. 源码生成deb包

    方法一 源码包要求是使用 automake 进行编译管理的. 安装路径不能指定为 /usr/local 下的目录,否则生成 deb 包期间报错. 制作的工具是 dh-make ,如果没有安装,要先安装 ...

  7. Android 如何在Eclipse中查看Android API源码 及 support包源码

    当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都是已经写好的方法和控件,可是我们只是在搬来使用,不知道它的原理,它是如何被实现的.android系统是开源的,所以谷歌官方 ...

  8. 修改FFMpeg源码—捕获丢包

    概述 最近我们项目有一个需求就是解决客户端播放RTSP视频流花屏的问题,一般来说丢包就会引起花屏,导致客户端花屏的因素又有很多,比如说: 相机到服务器丢包 服务器到客户端丢包 等等... 其中服务器到 ...

  9. 【转】Android 如何在Eclipse中查看Android API源码 及 support包源码

    原文网址:http://blog.csdn.net/vipzjyno1/article/details/22954775 当我们阅读android API开发文档时候,上面的每个类,以及类的各个方法都 ...

随机推荐

  1. sklearn快速入门

    原创博文,转载请注明出处. (为了节约空间,打印结果常用"..."表示省略) 一.加载数据集 1. 加载sklearn自带的数据集 scikit-learn有一些自带的标准数据集, ...

  2. json对象中根据主键判断是否有重复数据

    function funCheckRepeat() { var ids = $(gridId).jqGrid('getGridParam', 'selarrrow'); if (ids.length ...

  3. 纸上得来终觉浅,绝知此事要躬行——Spring boot任务调度

    前言:之前今日开讲项目的时候,用到了Quartz进行任务调度.后来做一个电商项目的时候,还用到了Quartz任务调度. 觉得挺简单的,a peace of cake.  忽略了总结,当时闭着眼睛都能捉 ...

  4. 为不是函数的对象 'dbo.xxxx' 提供了参数。如果这些参数要作为表提示,则需要使用 WITH 关键字

    为不是函数的对象 'dbo.xxxxxx' 提供了参数.如果这些参数要作为表提示,则需要使用 WITH 关键字 犯错误原因:给视图加条件了.. 用.where(a=>a.ID=xxx.ID);

  5. java主要集合类的数据结构学习

    http://www.cnblogs.com/beanmoon/archive/2012/11/22/2782442.html 在程序中,集合类每天都在使用,以致于某些代码充斥着List和Map,一直 ...

  6. Markdown语法图解

    Markdown语法图解 文章目录 快捷键 基本语法 对字体设置斜体.粗体.删除线 分级标题 链接 分割线 代码块 引用 列表 表格 常用技巧 换行 缩进字符 如何打出一些特殊符号 字体.字号与颜色 ...

  7. 记一次 pip list --outdated 错误

    在 Windows CMD 执行 pip list --outdated,出现如下错误:" [WinError 10061] 由于目标计算机积极拒绝,无法连接",原因是我之前用的源 ...

  8. openssl-1.0.1c交叉编译动态库(转)

    linux编译相关(13)  版权声明:本文为博主原创文章,未经博主允许不得转载. #交叉编译openssl ------直接修改Makefile新加这一行:CROSS_COMPILE= arm-un ...

  9. 山贼集团 (group)

    山贼集团 (group) 题目描述 某山贼集团在绿荫村拥有强大的势力,整个绿荫村由N个连通的小村落组成,并且保证对于每两个小村落有且仅有一条简单路径相连.小村落用阿拉伯数字编号为1,2,3,4,-,n ...

  10. bzoj1902【Zju2116】 Christopher

    题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1902 sol  :一眼可以看出此题应用了lucas定理(逃~ 将n,m都化为p进制,记为a[] ...