欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

go 交叉编译,部署

程序员文章站 2022-05-11 12:46:24
go web 部署 + 交叉编译 go 语言有个强大的地方就是 交叉编译 windows ——cmd 设置环境变量 mac SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 设置环境变量 linux SET CGO_ENABLED=0 SET GO ......

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