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

欢迎访问个人GitHub

https://github.com/zq2599/blog_demosjava

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

关于《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并作好相关设置,为后面的开发作好准备;github

环境信息

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

关于账号和权限

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

  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. 去掉配置文件的可写权限:shell

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微信

相关文章
相关标签/搜索