go 交叉編譯,部署

早就在城下發表於2018-11-19

go web 部署

  • 交叉編譯
    go 語言有個強大的地方就是 交叉編譯
    • windows ——cmd
      • 設定環境變數-mac

        SET CGO_ENABLED=0
        SET GOOS=darwin
        SET GOARCH=amd64

      • 設定環境變數-linux

        SET CGO_ENABLED=0
        SET GOOS=linux
        SET GOARCH=amd64

        然後go build 即可

    • windows——powershell
      powershell的設定環境變數的方法是$env:
      • 設定環境變數-mac

        $env:CGO_ENABLED=0
        $env:GOOS=”darwin”
        $env:GOARCH=”amd64″

      • 設定環境變數——linux

        $env:CGO_ENABLED=0
        $env:GOOS=”linux”
        $env:GOARCH=”amd64″

  • 部署
    編譯完成之後,部署比較簡單(只是go程式本身部署)
    將編譯好的檔案放在對應平臺下,直接執行即可,若考慮負載什麼的,可用nginx部署
    • 注:
      注意ip的設定,127.0.0.1 只是本機內網的訪問,0.0.0.0可外網訪問

附錄

  • 各平臺的GOOS和GOARCH參考

    OS ARCH OS version
    linux 386 / amd64 / arm >= Linux 2.6
    darwin 386 / amd64 OS X (Snow Leopard + Lion)
    freebsd 386 / amd64 >= FreeBSD 7
    windows 386 / amd64 >= Windows 2000

相關文章