Go專案如何部署到阿里雲
Golang 專案開發結束後,如何部署到阿里雲ECS,go專案部署簡單很多,不會像Java 那麼複雜 需要配置很多環境。
步驟如下(本文以beego專案為案例,go專案類似啦)
一 . 確認伺服器環境
登入阿里雲ECS,檢視當前伺服器系統和CPU資訊
linux 常用命令: uname -a # 檢視核心/作業系統/CPU資訊

這裡可以看到這個伺服器的架構是 x86_64 這個架構亦稱 amd64.
● 6g是amd64的go編譯器,它生成的是.6檔案。
● 386一般使用8g命令,它生成的一般是.8格式的檔案。
● 當然還有一個5g的命令是用於arm的cpu,
同理amd64用6l,386用8l,arm用5l的連結器
明白了上面就開始交叉編譯go的可執行程式了
編譯對應平臺下的執行檔案
二 . 確認當前GO開發環境
使用 go env 命令:
(mac 下的 GOARCH 和 GOOS)

三. 交叉編譯
Golang支援交叉編譯,也就是說你在32位平臺的機器上開發,可以編譯生成64位平臺上的可執行程式.mac 下可以編譯linux 下的執行程式 又或者windows下的執行程式
交叉編譯依賴下面幾個環境變數:
$GOARCH 目標平臺(編譯後的目標平臺)的處理器架構(386、amd64、arm)
$GOOS 目標平臺(編譯後的目標平臺)的作業系統(darwin、freebsd、linux、windows)
到原始碼目錄下執行:
【beego專案編譯 】
Mac 下編譯linux 可執行檔案
bee pack -be GOOS=linux -be GOARCH=amd64
【Go專案】
Mac 下編譯 Linux 和 Windows 64位可執行程式
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
Linux 下編譯 Mac 和 Windows 64位可執行程式
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
Windows 下編譯 Mac 和 Linux 64位可執行程式
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build main.go
--------------------------------------
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go
備註:不帶前面引數的 go build 只是編譯出開發環境適用的執行檔案。