centos

Golang在CentOS上的打包环境如何配置

小樊
39
2025-08-16 22:39:45
栏目: 编程语言

以下是在CentOS上配置Golang打包环境的步骤:

  1. 安装Golang

    • 推荐使用包管理器(CentOS 7/8):
      sudo yum install -y golang  # CentOS 7  
      sudo dnf install -y golang  # CentOS 8  
      
      验证安装:go version
    • 手动安装(可选):
      下载对应版本压缩包(如go1.20.x.linux-amd64.tar.gz),解压至/usr/local,并配置环境变量。
  2. 配置环境变量
    编辑~/.bashrc/etc/profile,添加:

    export GOROOT=/usr/local/go  
    export GOPATH=$HOME/go  
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin  
    

    使配置生效:source ~/.bashrc

  3. 安装依赖工具(可选)
    若需编译C依赖的包,安装工具链:

    sudo yum install -y gcc gcc-c++ make zlib-devel openssl-devel  
    
  4. 项目打包

    • 编译可执行文件
      进入项目目录,指定目标平台(如Linux 64位):
      CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o your_app  
      
      CGO_ENABLED=0用于静态编译,避免依赖动态库)。
    • 打包资源文件
      将可执行文件与配置文件(如config.yaml)打包为压缩包:
      tar -czvf your_app.tar.gz your_app config/  
      ```。  
      
      
  5. 部署与运行

    • 上传压缩包至服务器,解压并赋予执行权限:
      tar -xzvf your_app.tar.gz  
      chmod +x your_app  
      
    • 后台运行服务(推荐使用systemd):
      创建服务文件/etc/systemd/system/your_app.service,内容示例:
      [Unit]  
      Description=Your Go App  
      After=network.target  
      
      [Service]  
      ExecStart=/path/to/your_app  
      Restart=always  
      User=root  
      
      [Install]  
      WantedBy=multi-user.target  
      
      启用并启动服务:
      systemctl daemon-reload  
      systemctl start your_app  
      systemctl enable your_app  
      ```。  
      
      

说明

0
看了该问题的人还看了