要注意打包的程序和生产环境使用的glibc版本,如果两者不一致时可能造成生产环境启动不了。通常生产环境的服务器上glibc版本较低,而自己的笔记本上glibc版本较高。
解决方案有两条:
一是在生产环境更新glibc版本,这个很费时费力,而且搞不好会把系统弄崩溃。
二是重新打包编译goframe项目,生成不依赖外部库的执行文件。
进入项目路径,执行下面的指令:
go build -o main -ldflags '-linkmode "external" -extldflags "-static"' main.go
把这种方式编译生成的main文件拷贝到服务器上,执行chmod +x main,然后再用./main运行即可。