一、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. C++指针详解 (转)

    C++指针详解 指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址.要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区, ...

  2. Detect Vertical&Horizontal Segments By OpenCV

    Detect Vertical&Horizontal Segments By OpenCV,and Save the data to csv. Steps: Using adaptiveThr ...

  3. DWR搭建以及使用教程

    DWR搭建以及使用教程   DWR(Direct Web Remoting)是一个Ajax的开源框架,用于改善web页面与Java类交互的远程服务器端的交互体验,可以帮助开发人员开发包含AJAX技术的 ...

  4. IO Streams:来源于命令行的IO

    简介 程序经常从命令行运行并与在命令行环境中的用户交互.Java平台支持这种互动的方式有两种:通过标准流,通过控制台 标准流 标准流是许多操作系统的一项功能.默认情况下,他们从键盘输入读取和输出到显示 ...

  5. 34条简单的SQL优化准则

    转载地址:http://bbs.csdn.net/topics/260002113 我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享!(1)    ...

  6. POJ 3104:Drying(二分)

    题目大意:你有一台机器可以烘干衣物,现在有n个衣物需要烘干,每件衣服都有一个值表示含水量,烘干机一秒可以烘干k滴水,一件衣服不在烘干机上时会每秒自动蒸发一滴水,求最少用多少时间烘干所有衣服. 分析: ...

  7. Java EE 学习(6):IDEA + maven + spring 搭建 web(2)- 配置 Spring

    参考:https://my.oschina.net/gaussik/blog/513353 注:此文承接上一文:Java EE 学习(5):IDEA + maven + spring 搭建 web(1 ...

  8. ng-show和ng-hide的进阶应用

    在数据列表渲染的时候,我们可能不仅有一层数据,可能是三级甚至更多,如果我们要显示或者隐藏对应的数据,那么就需要给数据进行子scope的绑定.如下 html <div ng-app="d ...

  9. [LeetCode] Surrounded Regions 广度搜索

    Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A region is captured ...

  10. Http协议和Tomcat服务器安装与eclipse集成(重要)

    一.Http协议 1.什么是Http协议 HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的     一种网络协议.所有的WWW文件都必须遵守这 ...