美文网首页
Golang 微服务学习笔记(二)——环境搭建

Golang 微服务学习笔记(二)——环境搭建

作者: HollowKnight | 来源:发表于2018-06-28 10:43 被阅读0次

    1. GO环境安装

    源码安装

    wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
    
    tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz
    

    设置环境变量,

    vim /etc/profile
    

    然后把环境变量加入,gopath是工作目录,里面包含3个目录,分别是

    • src 存放源代码
    • pkg 存放编译好的库文件
    • bin 存放可执行文件
    export GOROOT=/usr/local/go
    export PATH=$PATH:$GOROOT/bin
    export GOPATH=/data/go
    

    加入环境变量后要输入source /etc/profile来使环境变量生效,另外可以通过go env来查看变量是否设置生效,如下图

    image.png

    2. 安装 Protobuf

    安装 Protobuf编译器protoc

    上github下载,https://github.com/google/protobuf/releases/tag/v3.6.0
    我就直接wget了,下载release版本的话就不需要./autogen.sh

    wget https://github.com/google/protobuf/releases/download/v3.6.0/protobuf-all-3.6.0.tar.gz
    tar -xvf protobuf-all-3.6.0.tar.gz 
    ./configure --prefix=/usr/local/protobuf
    
    ------------
    报错:
    1. no acceptable C compiler found in $PATH的报错,直接yum install gcc
    2. configure: error: C++ preprocessor "/lib/cpp" fails sanity check,解决:
        yum install glibc-headers
        yum install gcc-c++
    ------------
    
    make
    make check
    make install
    
    装完记得加上环境变量
    export PATH=$PATH:/usr/local/protoc 
    

    安装 goprotobuf 提供的 Protobuf 插件protoc-gen-go

    直接一条命令,顺便安装到$GOBIN下,就是gopath的bin目录下

    go get -u github.com/golang/protobuf/protoc-gen-go
    
    另外需要设置下环境变量,不然安装在bin目录下的也执行不了
    vim /etc/profile
    export PATH=$PATH:$GOPATH/bin
    

    安装micro的扩展插件protoc-gen-micro

    go get github.com/micro/protoc-gen-micro


    测试一下

    按官方demo写了个协议,跑一遍试试


    image.png

    生产命令

    protoc --proto_path=$GOPATH/src:. --micro_out=. --go_out=. greeter.proto
    

    然后就生成成功了,pb的文件是具体声明数据结构的和各个数据的操作。而micro那个文件则是框架本身再封装一层,service去调用的。


    image.png

    PS:

    1. 我make check的时候时候似乎有报错,但安装又是成功的
    2. 生成的文件多了3个参数,这个好像是用来对旧版本协议兼容,不影响实际使用的

    3. etcd安装

    晚点补充,然后下篇先记下protobuf的写法。再下篇就建一个完整的go-micro的简单demo,跑一遍

    相关文章

      网友评论

          本文标题:Golang 微服务学习笔记(二)——环境搭建

          本文链接:https://www.haomeiwen.com/subject/jcdwyftx.html