在部署時(shí),我通常會(huì)先將應(yīng)用編譯打包。公司開發(fā)用的電腦基本都是 Windows 環(huán)境棒呛,當(dāng)我們?cè)谑褂?go build 編譯打包時(shí)唬滑,打包好的文件通常 *.exe告唆。這時(shí)候就存在一個(gè)問(wèn)題,我們的打包好的服務(wù)最終部署的服務(wù)器環(huán)境是 Linux 環(huán)境而非 Windows晶密。因此我們?cè)诖虬靶枰O(shè)置以下環(huán)境變量(假設(shè)我們的 go 是 amd64 的):
set GOARCH=amd64
set GOOS=linux
設(shè)置該變量后我們?cè)俅问褂?go build 就會(huì)發(fā)現(xiàn)打包出來(lái)的文件是 linux 可執(zhí)行文件了擒悬。
接下來(lái)將打包好的 Linux 可執(zhí)行文件拷貝到服務(wù)器上,chmod 700 設(shè)置該文件權(quán)限為可執(zhí)行權(quán)限稻艰。然后使用 ./ 運(yùn)行就 ok 了懂牧。