您的位置:首页 >CentOS编译Go项目有哪些步骤
发布于2026-04-24 阅读(0)
扫一扫,手机访问

万事开头先搭台。想在 CentOS 上顺利编译 Go 项目,第一步就是把环境给配利索了。
sudo yum install -y golang;要是系统已经升级到 CentOS 8 或更高版本,命令则换成 sudo dnf install -y golang。sudo tar -C /usr/local -xzf go1.19.5.linux-amd64.tar.gz。echo 'export GOROOT=/usr/local/go' >> /etc/profile 和 echo 'export PATH=$PATH:$GOROOT/bin' >> /etc/profile,最后别忘了用 source /etc/profile 让配置立刻生效。GOPATH=$HOME/go,并把 $GOPATH/bin 加入 PATH,方便管理本地工具(这一步是可选的)。go version,如果屏幕上蹦出类似 “go1.19.5 linux/amd64” 的版本信息,恭喜你,环境就算搞定了。环境就绪,接下来就是把项目的“原材料”——代码和它依赖的库——准备齐全。
cd /path/to/your/project,这是所有后续操作的起点。go mod init 初始化一个。之后,运行 go get ./... 就能自动拉取所有依赖项。GOPATH 环境变量,并把项目代码老老实实放到 $GOPATH/src 目录下面去。重头戏来了。编译本身不难,但怎么为不同目标平台生成可执行文件,这里头有点门道。
go build -o myapp main.go,或者在有 go.mod 的项目里直接 go build,就能生成当前平台的可执行文件。GOOS=linux GOARCH=amd64 go build -o myapp-linux-amd64 main.goGOOS=windows GOARCH=amd64 go build -o myapp.exe main.goGOOS=darwin GOARCH=amd64 go build -o myapp-darwin-amd64 main.go编译好的二进制文件,得打包好才能送到服务器上。
tar -czvf myapp.tar.gz myapp config.yaml。之后就可以用 scp 或 rsync 等工具上传到目标服务器。tar -xzvf myapp.tar.gz && chmod +x myapp。rpmbuild 工具,编写 SPEC 文件来构建 RPM 包。这样安装、升级和卸载都会更加规范。程序上了生产环境,怎么让它稳定、可靠地跑起来,这才是最后的考验。
./myapp。如果需要后台运行,可以用 nohup ./myapp > app.log 2>&1 &。/etc/systemd/system/myapp.service,内容如下:
[Unit]
Description=My Go Application
After=network.target
[Service]
User=youruser
Group=yourgroup
ExecStart=/path/to/myapp
Restart=always
Environment=GO_ENV=production
[Install]
WantedBy=multi-user.target
然后执行 sudo systemctl daemon-reload && sudo systemctl start myapp && sudo systemctl enable myapp 来启动并设置开机自启。查看状态和日志的命令是 systemctl status myapp 和 journalctl -u myapp -f。sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent && sudo firewall-cmd --reload。FROM golang:1.18
WORKDIR /app
COPY . .
RUN go build -o myapp main.go
EXPOSE 8080
CMD ["./myapp"]
构建镜像并运行:docker build -t myapp .;docker run -p 8080:8080 myapp。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9