centos

如何在centos搭建golang服务器

小樊
36
2025-07-16 16:10:24
栏目: 云计算

在CentOS上搭建Go语言服务器的步骤如下:

  1. 安装Go语言环境: 首先,你需要在CentOS系统上安装Go语言。可以通过以下命令来安装:

    sudo yum install golang
    

    或者,你可以从Go官方网站下载最新的Go二进制文件并手动安装。

  2. 设置GOPATH和GOROOT: 在你的用户目录下创建一个go文件夹,并设置GOPATH环境变量。GOROOT通常是Go的安装路径,如果你是通过yum安装的,它通常已经被设置好了。

    mkdir -p ~/go/{bin,src,pkg}
    echo 'export GOPATH=$HOME/go' >> ~/.bash_profile
    echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bash_profile
    source ~/.bash_profile
    
  3. 编写Go服务器代码: 使用你喜欢的文本编辑器创建一个新的Go文件,例如server.go,并编写你的服务器代码。下面是一个简单的HTTP服务器示例:

    package main
    
    import (
        "fmt"
        "net/http"
    )
    
    func handler(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, World!")
    }
    
    func main() {
        http.HandleFunc("/", handler)
        fmt.Println("Starting server at port 8080")
        if err := http.ListenAndServe(":8080", nil); err != nil {
            fmt.Println(err)
        }
    }
    
  4. 运行Go服务器: 在包含server.go文件的目录中,运行以下命令来启动服务器:

    go run server.go
    

    服务器启动后,你可以在浏览器中访问http://your_server_ip:8080来查看你的Go服务器是否正常工作。

  5. 设置防火墙规则(可选): 如果你的服务器运行在防火墙后面,你需要打开相应的端口(例如8080)来允许外部访问。

    sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
    sudo firewall-cmd --reload
    
  6. 使用systemd管理Go服务器(可选): 为了让你的Go服务器在后台运行并在系统启动时自动启动,你可以创建一个systemd服务单元文件。

    创建一个新的服务文件:

    sudo vi /etc/systemd/system/go-server.service
    

    在文件中添加以下内容:

    [Unit]
    Description=Go Web Server
    After=network.target
    
    [Service]
    ExecStart=/usr/local/go/bin/go run /path/to/your/server.go
    Restart=always
    User=your_username
    Group=your_groupname
    Environment=GOPATH=/home/your_username/go
    Environment=GOROOT=/usr/local/go
    
    [Install]
    WantedBy=multi-user.target
    

    保存并退出编辑器,然后启动并启用服务:

    sudo systemctl start go-server
    sudo systemctl enable go-server
    

    现在,你的Go服务器应该作为systemd服务运行,并在系统启动时自动启动。

以上步骤是在CentOS上搭建Go语言服务器的基本流程。根据你的具体需求,可能还需要进行额外的配置和优化。

0
看了该问题的人还看了