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”
-
- windows ——cmd
-
部署
编译完成之后,部署比较简单(只是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