gRPC学习之一:在CentOS7部署和设置GO
2021/8/12 7:36:17
本文主要是介绍gRPC学习之一:在CentOS7部署和设置GO,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
欢迎访问我的GitHub
https://github.com/zq2599/blog_demos
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
关于《gRPC学习》系列
《gRPC学习》是欣宸最新创作的实战风格原创,旨在通过一系列实战操作与读者一同掌握基于golang的gRPC开发基础知识;
gRPC学习系列文章链接
- 在CentOS7部署和设置GO
- GO的gRPC开发环境准备
- 初试GO版gRPC开发
- 实战四类服务方法
- gRPC-Gateway实战
- gRPC-Gateway集成swagger
关于gRPC
- gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持.
- gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。
- 各个进程之间可以通过gRPC相互调用,如下图:
本篇概览
作为《gRPC学习》系列的开篇,主要工作是确定环境信息、部署go并做好相关设置,为后面的开发做好准备;
环境信息
- 操作系统:CentOS Linux release 7.9.2009
- go版本:1.15.6
关于帐号和权限
为了接近生产环境,本文的操作未使用root帐号,而是一个新建的帐号golang,新建账号时使用root帐号来操作,步骤如下:
- 我这里用的帐号和群组名为golang,用root账号执行如下操作:
groupadd golang && useradd -d /home/golang -g golang -m golang
- 执行命令passwd golang设置golang帐号的密码;
- 还要给golang账号执行sudo的权限,执行以下命令,使得配置文件可写:
chmod 777 /etc/sudoers
- 接下来编辑/etc/sudoers,添加下图红框中的内容,然后保存退出:
5. 去掉配置文件的可写权限:
chmod 440 /etc/sudoers
- 至此,新账号golang创建完成,接下来的操作都用此帐号;
极速部署和配置golang
下载、解压、设置,如果您觉得这些操作繁琐乏味,以下操作会让您省心一些:
- 更新应用:
sudo yum update -y
- 安装稍后会用到的应用:
sudo yum install unzip tree wget -y
- 执行以下命令即可完成所有部署工作:
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
- 执行完上述命令后,控制台会输出类似下面的内容,可见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
- 上述命令中的脚本install-go.sh,其主要内容如下:
- 如果您对脚本细节感兴趣,可以直接查看已下载的install-go.sh文件;
- 至此,CentOS7下面GO环境已准备完毕,接下来的章节会准备gRPC环境;
你不孤单,欣宸原创一路相伴
- Java系列
- Spring系列
- Docker系列
- kubernetes系列
- 数据库+中间件系列
- DevOps系列
欢迎关注公众号:程序员欣宸
微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos
这篇关于gRPC学习之一:在CentOS7部署和设置GO的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23MongoDB身份认证机制揭秘!
- 2024-11-20MongoDB教程:从入门到实践详解
- 2024-11-17执行 Google Ads API 查询后返回的是空数组什么原因?-icode9专业技术文章分享
- 2024-11-17google广告数据不同经理账户下的凭证可以获取对方的api数据吗?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么实现同时向多个邮箱发送邮件?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么设置header 和 标签tag 呢?-icode9专业技术文章分享
- 2024-11-12Cargo deny安装指路
- 2024-11-02MongoDB项目实战:从入门到初级应用
- 2024-11-01随时随地一键转录,Google Cloud 新模型 Chirp 2 让语音识别更上一层楼
- 2024-10-25Google Cloud动手实验详解:如何在Cloud Run上开发无服务器应用