在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'
),減少二進制體積。參考來源: