应届生出来做网站还是做报纸好,如何建网站平台,容易做的网站,培训班在哪个网站找最近将 golang 项目打包部署在不同环境#xff0c;总结一下自己的心得体会#xff0c;供大家参考。 1、首先要明确自己目标服务器的系统类型(例如 windows 或者Linux) #xff0c;如果是Linux 还需要注意目标服务器的CPU架构(amd或者arm) 目标服务器的CPU架构可执行命令总结一下自己的心得体会供大家参考。 1、首先要明确自己目标服务器的系统类型(例如 windows 或者Linux) 如果是Linux 还需要注意目标服务器的CPU架构(amd或者arm) 目标服务器的CPU架构可执行命令cat /proc/cpuinfo 查看
[rootKylinV10SP3 ~]# cat /proc/cpuinfo
processor : 0
model name : ARMv8 CPU
BogoMIPS : 200.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
CPU implementer : 0x48
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd01
CPU revision : 0查看输出信息中的 Processor 字段或者 Model name 字段或者 Architecture 字段。如果看到 x86_64 或 i686则表明是AMD64或Intel x86架构。如果看到 armv7l、armv8 等则表明是ARM架构。
# 查看Processor字段
grep -i processor /proc/cpuinfo
# 查看Model name字段
grep -i model name /proc/cpuinfo
# 查看Architecture字段
grep -i architecture /proc/cpuinfo根据上述命令的输出结果可以判断您的Linux系统使用的是AMD还是ARM架构。 2、查看本地的go环境 使用goland在Terminal中输入命令go env
PS D:\workspace\dhcc-go-leishi-api\src go env
set GO111MODULEon
set GOARCHamd64
set GOBIN
set GOCACHEC:\Users\libao\AppData\Local\go-build
set GOENVC:\Users\libao\AppData\Roaming\go\env
set GOEXE.exe
set GOEXPERIMENT
set GOFLAGS
set GOHOSTARCHamd64
set GOHOSTOSwindows
set GOINSECURE
set GOMODCACHED:\go_workspace\pkg\mod
set GONOPROXY
set GONOSUMDB
set GOOSwindows
set GOPATHD:\go_workspace
set GOPRIVATE
set GOPROXYhttps://goproxy.cn,direct
set GOROOTD:\Program Files\Go
set GOSUMDBsum.golang.org
set GOTMPDIR
set GOTOOLDIRD:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS
set GOVERSIONgo1.19.3
set GCCGOgccgo
set GOAMD64v1
set ARar
set CCgcc
set CXXg
set CGO_ENABLED1
set GOMODD:\workspace\dhcc-go-leishi-api\go.mod
set GOWORK
set CGO_CFLAGS-g -O2
set CGO_CPPFLAGS
set CGO_CXXFLAGS-g -O2
set CGO_FFLAGS-g -O2
set CGO_LDFLAGS-g -O2
set PKG_CONFIGpkg-config
set GOGCCFLAGS-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length0 -fdebug-prefix-mapC:\Users\libao\AppData\Local\Te
mp\go-build1857876918/tmp/go-build -gno-record-gcc-switches以上 GOOSwindowsGOARCHamd64如果服务器是windows 系统直接编译就可以执行命令 go build -o leishi-linux main.go需要在main文件的同级目录下执行。 3、根据不同的目标服务器环境设置的本地环境变量 (1) 在window下打包成Linux系统adm包 在项目main.go同级目录下逐条执行以下命令 set CGO_ENABLED0 go env -w GOOSlinux go env -w GOARCHamd64 go build -o leishi-linux main.go 此时会生成一个没有后缀的二进制文件 将leishi-linux文件放入linux系统任何文件夹下执行以下命令 chmod 777 leishi-linux ./leishi-linux
[rootKylinV10SP3 ~]# cd /usr/local/leishi
[rootKylinV10SP3 leishi]# chmod 777 leishi-linux
[rootKylinV10SP3 leishi]# ./leishi-linux
2024/07/08 16:58:07 连接数据库...
2024/07/08 16:58:07 连接数据库完成...
2024/07/08 16:58:07 初始化数据库完成...
2024/07/08 16:58:07 Starting server on port :5100...当然也可以设置后台运行执行nohup ./leishi-linux leishi-linux.log 21 (2) 在window下打包成Linux系统arm包 在项目main.go同级目录下逐条执行以下命令 set CGO_ENABLED0 go env -w GOOSlinux go env -w GOARCHarm64 go build -o leishi-linux main.go 此时会生成一个没有后缀的二进制文件 运行方法同上
(2) 在window下打包成Linux系统arm包 在项目main.go同级目录下逐条执行以下命令 set CGO_ENABLED1 go env -w GOOSwindows go env -w GOARCHamd64 go build -o leishi main.go 此时会生成一个exe后缀的程序文件 将文件移动到目标位置直接点击就以运行。