在CentOS上打包Golang项目时,需注意以下关键事项:
环境配置
GOROOT、GOPATH已正确设置并添加到PATH中,可通过go env验证。GOPROXY=https://goproxy.cn,direct以加速依赖下载。交叉编译
GOOS=linux GOARCH=amd64指定目标平台(如CentOS 64位),例如:GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o app。-ldflags '-s -w'参数。依赖管理
go mod init)管理依赖,确保打包时包含所有依赖项。go mod tidy清理无用依赖。文件权限与部署
chmod +x赋予可执行文件权限。.env)的路径和权限,修改后需重启服务生效。特殊场景处理
libcurl-devel),并设置CGO_ENABLED=1。进程与日志管理
nohup或systemd管理进程,例如:nohup ./app > app.log 2>&1 &。安全与优化
chmod 777赋予全局权限,按需设置最小权限(如755)。-ldflags '-s -w'),减少二进制体积。参考来源: