centos

golang打包在centos的流程

小樊
44
2025-10-11 08:37:25
栏目: 编程语言

Golang项目在CentOS上的打包流程

1. 安装Golang环境

在CentOS上打包Golang项目前,需先安装Golang。有两种方式:

配置环境变量
编辑~/.bashrc(或/etc/profile),添加以下内容:

export GOROOT=/usr/local/go  # Golang安装目录
export GOPATH=$HOME/go       # 工作目录(存放源码、依赖)
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin  # 添加Go命令到PATH

使配置生效:

source ~/.bashrc

验证安装
运行go version,若输出Go版本信息(如go1.23.0 linux/amd64),则安装成功。

2. 准备Golang项目

进入项目目录(如/home/user/myapp),确保项目结构符合Go规范(如包含main.go入口文件)。若使用Go Modules管理依赖,需初始化模块:

go mod init myapp  # 初始化模块(生成go.mod文件)
go mod tidy        # 下载并整理依赖(确保go.mod与go.sum一致)

3. 编译Golang项目

基础编译(生成适用于当前系统的可执行文件)
在项目目录下运行:

go build -o myapp  # 生成名为“myapp”的可执行文件

交叉编译(生成适用于CentOS的Linux二进制文件,推荐)
即使当前系统是CentOS,也建议显式指定目标平台(避免环境变量干扰),命令如下:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o myapp-linux-amd64

4. 打包项目文件

将编译后的可执行文件及必要的配置文件(如config.yamlREADME.md)打包成压缩文件(如.tar.gz):

tar -czvf myapp.tar.gz myapp-linux-amd64 config.yaml README.md

5. (可选)创建RPM包(便于分发)

若需要将项目打包成RPM格式(适用于CentOS的软件包管理),可按以下步骤操作:

6. 部署与运行

将打包后的文件(如myapp.tar.gz或RPM包)上传至目标CentOS服务器(使用scp命令):

scp myapp.tar.gz user@remote_server:/path/to/destination

在目标服务器上解压并运行:

tar -xzvf myapp.tar.gz  # 解压
cd myapp-linux-amd64    # 进入目录
chmod +x myapp          # 赋予执行权限
./myapp                 # 运行程序

若需要后台运行,可使用nohupsystemd服务(参考之前的systemd配置步骤)。

以上流程覆盖了Golang项目在CentOS上的完整打包、部署过程,可根据实际需求选择静态编译、RPM打包等优化步骤。

0
看了该问题的人还看了