一、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. 课堂笔记III

  2. maven学习(一)——maven的下载与安装

    一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1.1. ...

  3. icheck 动态设置选中,判断是否选择

    $(this).iCheck('check'); //启用禁用上级编号             $('#OnPar').on('ifUnchecked', function (event) {     ...

  4. httpClient get方式抓取数据

    /*     * 爬取网页信息     */    private static String pickData(String url) {        CloseableHttpClient ht ...

  5. POJ 1149 PIGS(Dinic最大流)

    PIGS Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 20738   Accepted: 9481 Description ...

  6. 练级(train)

    练级(train) 试题描述 cxm 在迷宫中练级.迷宫可以看成一个有向图,有向图的每个边上都有怪物.通过每条边并消灭怪物需要花费 \(1\) 单位时间.消灭一个怪物可以得到一定数量的经验值.怪物被消 ...

  7. BZOJ3260 跳 【组合数】

    题目 邪教喜欢在各种各样空间内跳.现在,邪教来到了一个二维平面. 在这个平面内,如果邪教当前跳到了(x,y),那么他下一步可以选择跳到以下4个点: (x-1,y),(x+1,y),(x,y-1),(x ...

  8. JavaScript简明教程之Node.js

    Node.js是目前非常火热的技术,但是它的诞生经历却很奇特. 众所周知,在Netscape设计出JavaScript后的短短几个月,JavaScript事实上已经是前端开发的唯一标准. 后来,微软通 ...

  9. 四则运算出题系统,java

    程序设计思想: 首先通过判断选择计算的范围,然后用随机数生成两个随机数,定义另一个数,将两个随机数计算得到的值赋给定义的数 程序代码: package Kaos1; import java.util. ...

  10. Python之数据结构:列表

    列表:处理一组有序项目的数据结构 一.基本操作 1.列表运算符 list1=[2,3,4,5,6,7,8] print len(list1) print [1,2]+[3,4] print ['Hi' ...