go web 部署

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部署

  • 后台运行
    大部分情况下,我们都是利用各种工具远程linux服务器,加入我们的程序名称是goweb,直接运行后,关闭远程标签则可能程序退出,所以需要设置后台运行。

    nohup ./goweb &> goweb.log

    意思是设置后台运行并将输出写入当前路径名为goweb的文件中

  • 注:

    注意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

你可能感兴趣的:(go web 部署)