在部署时,我通常会先将应用编译打包。公司开发用的电脑基本都是 Windows 环境,当我们在使用 go build 编译打包时,打包好的文件通常 *.exe。这时候就存在一个问题,我们的打包好的服务最终部署的服务器环境是 Linux 环境而非 Windows。因此我们在打包前需要设置以下环境变量(假设我们的 go 是 amd64 的):
set GOARCH=amd64
set GOOS=linux
设置该变量后我们再次使用 go build 就会发现打包出来的文件是 linux 可执行文件了。
接下来将打包好的 Linux 可执行文件拷贝到服务器上,chmod 700 设置该文件权限为可执行权限。然后使用 ./ 运行就 ok 了。