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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM