发布于2026-07-27 阅读(0)
扫一扫,手机访问
在CentOS上打包Golang应用,其实步骤比想象中要直白。先别急着看那堆命令行,把流程理清楚了,后面操作起来会顺手很多。下面就来拆解一下整个过程。

安装Golang——这事得先搞定。如果还没装,最简单的办法是用yum直接装:
sudo yum install golang
当然,如果追求最新版本或者想自己控制编译选项,也可以从官网下载源码包来装。这里以1.18.1为例:
wget https://golang.org/dl/go1.18.1.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
记得把go1.18.1换成你实际需要的版本号。装完之后顺手验证一下:go version,能正常输出版本就说明成了。
设置GOPATH和GOROOT——这两个环境变量决定了Go的工作模式和安装路径。GOROOT指向Go的安装目录,GOPATH则是你存放项目代码的地方。通常这么配:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
为了省事,把这几个export丢到~/.bashrc或~/.bash_profile里,以后每次登录就自动生效了。
编写你的Golang应用——打开你趁手的编辑器,在$GOPATH/src/myapp目录下写代码。这一步没什么好说的,按你的业务逻辑来就行。
构建应用——进入应用目录,直接跑:
go build -o myapp
当前目录下就会生成一个名叫myapp的可执行文件。注意,默认是动态链接,如果目标环境依赖库齐全,直接用就行。
压缩可执行文件——要是想分发出去,体积越小越好。这时候可以请出upx这个压缩神器:
sudo yum install upx
upx --best myapp
跑完再看,文件大小能缩掉不少,尤其对网络传输友好的场景特别实用。
创建启动脚本(可选)——如果打算把应用部署成服务,写个启动脚本会更规范。下面是一个典型的模板:
#!/bin/bash
# myapp.service
# Start and stop script for the myapp application.
case "$1" in
start)
echo "Starting myapp"
/path/to/myapp &
;;
stop)
echo "Stopping myapp"
pkill myapp
;;
*)
echo "Usage: /etc/init.d/myapp {start|stop}"
exit 1
;;
esac
exit 0
保存为/etc/init.d/myapp,然后给执行权限:
sudo chmod +x /etc/init.d/myapp
之后就可以用service myapp start和service myapp stop来控制了。
测试你的应用——打包部署之前,先在开发环境里跑一遍完整的测试,确保功能没问题。这一步省不了,否则后面出问题排查起来更头疼。
以上步骤在CentOS 7和CentOS 8上都能用,其它版本可能需要微调。另外,如果应用要部署到不同环境,建议考虑静态编译(CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-s -w')或者直接上Docker容器,这样依赖问题就彻底解决了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8