• gRPC学习之一:在CentOS7部署和设置GO


    欢迎访问我的GitHub

    https://github.com/zq2599/blog_demos

    内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

    关于《gRPC学习》系列

    《gRPC学习》是欣宸最新创作的实战风格原创,旨在通过一系列实战操作与读者一同掌握基于golang的gRPC开发基础知识;

    gRPC学习系列文章链接

    1. 在CentOS7部署和设置GO
    2. GO的gRPC开发环境准备
    3. 初试GO版gRPC开发
    4. 实战四类服务方法
    5. gRPC-Gateway实战
    6. gRPC-Gateway集成swagger

    关于gRPC

    1. gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持.
    2. gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。
    3. 各个进程之间可以通过gRPC相互调用,如下图:

    在这里插入图片描述

    本篇概览

    作为《gRPC学习》系列的开篇,主要工作是确定环境信息、部署go并做好相关设置,为后面的开发做好准备;

    环境信息

    1. 操作系统:CentOS Linux release 7.9.2009
    2. go版本:1.15.6

    关于帐号和权限

    为了接近生产环境,本文的操作未使用root帐号,而是一个新建的帐号golang,新建账号时使用root帐号来操作,步骤如下:

    1. 我这里用的帐号和群组名为golang,用root账号执行如下操作:
    groupadd golang && useradd -d /home/golang -g golang -m golang
    
    1. 执行命令passwd golang设置golang帐号的密码;
    2. 还要给golang账号执行sudo的权限,执行以下命令,使得配置文件可写:
    chmod 777 /etc/sudoers
    
    1. 接下来编辑/etc/sudoers,添加下图红框中的内容,然后保存退出:

    在这里插入图片描述
    5. 去掉配置文件的可写权限:

    chmod 440 /etc/sudoers
    
    • 至此,新账号golang创建完成,接下来的操作都用此帐号;

    极速部署和配置golang

    下载、解压、设置,如果您觉得这些操作繁琐乏味,以下操作会让您省心一些:

    1. 更新应用:
    sudo yum update -y
    
    1. 安装稍后会用到的应用:
    sudo yum install unzip tree wget -y
    
    1. 执行以下命令即可完成所有部署工作:
    curl -o install-go.sh 
    https://raw.githubusercontent.com/zq2599/blog_demos/master/files/install-go.sh 
    && chmod a+x ./install-go.sh 
    && ./install-go.sh
    
    1. 执行完上述命令后,控制台会输出类似下面的内容,可见hello.go文件可以被成功执行,表示go环境部署成功,并且输出的环境变量也是正常的:
    ...
    5. create go source file
    package main
    
    import "fmt"
    
    func main() {
    fmt.Println("Hello world!")
    }
    6. run hello.go
    Hello world!
    go1.15.6 install and check finished
    
    1. 上述命令中的脚本install-go.sh,其主要内容如下:

    在这里插入图片描述

    1. 如果您对脚本细节感兴趣,可以直接查看已下载的install-go.sh文件;
    • 至此,CentOS7下面GO环境已准备完毕,接下来的章节会准备gRPC环境;

    你不孤单,欣宸原创一路相伴

    1. Java系列
    2. Spring系列
    3. Docker系列
    4. kubernetes系列
    5. 数据库+中间件系列
    6. DevOps系列

    欢迎关注公众号:程序员欣宸

    微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
    https://github.com/zq2599/blog_demos

  • 相关阅读:
    无题
    Tomcat如何配置环境变量
    linux 下 jdk+tomcat+mysql 的 jsp 环境搭建
    when you're gone
    sublime text3插件篇
    java如何从cmd运行并使用text文件作为输入源的总结
    在发送intent启动activity之前判断是否有activity接收
    contentvalue的探究(结构,用途)
    JAVA input/output 流层次关系图
    activity状态保存的bundl对象存放位置的思考
  • 原文地址:https://www.cnblogs.com/bolingcavalry/p/15130986.html
Copyright © 2020-2023  润新知