您的位置:首页 >Go语言在CentOS上打包的步骤是什么
发布于2026-05-01 阅读(0)
扫一扫,手机访问

想把 Go 程序部署到 CentOS 服务器上?直接扔源码过去编译可不是个好主意。一套清晰、可靠的打包流程,才是保证应用在不同环境间稳定运行的关键。下面,我们就来梳理一下在 CentOS 环境下,从环境准备到最终交付的几种主流打包策略。
工欲善其事,必先利其器。打包的第一步,自然是把环境搭建妥当。
sudo yum install golang -ygo versiongo mod init example.com/myappgo mod tidy~/.bashrc 或 /etc/profile):export GOROOT=/usr/local/goexport GOPATH=$HOME/goexport PATH=$PATH:$GOROOT/bin:$GOPATH/binsource ~/.bashrc 或 source /etc/profile 使其立即生效。环境就绪,接下来就是编译环节。这里有几个关键点,直接决定了最终产物的兼容性和大小。
go build -o myapp main.go-ldflags "-s -w",例如 go build -ldflags "-s -w" -o myapp main.go。upx --best myapp。不过要注意,压缩可能会略微增加程序启动时间。得到一个可执行文件后,如何把它优雅地交付到服务器并运行起来?这里提供两种主流思路。
sudo yum install rpm-build rpmdevtools -yrpmdev-setuptree~/rpmbuild/SOURCES/myapp~/rpmbuild/SPECS/myapp.spec),这是 RPM 包的核心,需要定义:rpmbuild -ba ~/rpmbuild/SPECS/myapp.spec~/rpmbuild/RPMS/x86_64/myapp-*.rpmsudo yum install ~/rpmbuild/RPMS/x86_64/myapp-*.rpmgo-srpm-macros 和 mock 工具来实现更标准化、可复现的跨平台构建流程。如今,容器化部署几乎成了标准答案。使用 Docker 的多阶段构建,可以打造出极其轻量、安全的运行时镜像。
FROM golang:1.23-alpine AS buildWORKDIR /srcRUN go mod downloadRUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -o /bin/app ./cmd/appFROM alpine:latestCOPY --from=build /bin/app /app/appCMD ["/app/app"]docker build -t myapp .docker run --rm myapp
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9