温馨提示×

如何在centos跑golang

小樊
36
2026-10-02 21:16:10
栏目: 编程语言

在 CentOS 上运行 Go(Golang)程序,通常分为 安装 Go 环境 和 运行/编译 Go 程序 两部分。下面给你一份清晰、可直接照做的指南。


一、在 CentOS 上安装 Go

方法 1:官方二进制包安装(推荐)

  1. 下载 Go(以 1.22 为例,可换版本)
cd /usr/local
sudo curl -OL https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
  1. 解压
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
  1. 配置环境变量 编辑 ~/.bashrc 或 ~/.profile:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

使配置生效:

source ~/.bashrc
  1. 验证
go version

输出类似:

go version go1.22.5 linux/amd64

方法 2:使用 yum(版本可能较旧)

sudo yum install golang -y
go version

⚠️ CentOS 自带源中的 Go 版本通常偏低,不推荐生产使用


二、编写并运行 Go 程序

1. 创建项目目录

mkdir ~/hello && cd ~/hello

2. 写一个简单的 Go 程序

cat > main.go <<EOF
package main

import "fmt"

func main() {
    fmt.Println("Hello, CentOS!")
}
EOF

3. 直接运行(不编译)

go run main.go

三、编译为可执行文件

编译

go build -o hello main.go

运行

./hello

四、后台运行(常用方式)

使用 nohup

nohup ./hello > app.log 2>&1 &

或使用 systemd(推荐生产环境)

创建服务文件:

sudo vi /etc/systemd/system/hello.service

内容示例:

[Unit]
Description=Go Hello Service
After=network.target

[Service]
ExecStart=/root/hello/hello
WorkingDirectory=/root/hello
Restart=always
User=root

[Install]
WantedBy=multi-user.target

启动:

sudo systemctl daemon-reload
sudo systemctl start hello
sudo systemctl enable hello

五、常见问题

1. 防火墙(如需要外网访问)

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

2. 缺少依赖(Go Modules)

go mod init hello
go mod tidy

如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 是跑 Web 服务、脚本,还是微服务
  • 是否要 Docker 方式运行

我可以给你更贴合的方案。

0 踩