CentOS服务器Go语言部署指南

484
2025/3/25 15:32:47
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS服务器上部署Go语言环境是一个相对简单的过程。以下是一个详细的指南,帮助你完成这一任务:

1. 安装Go语言环境

下载Go语言包

首先,访问Go官方网站下载适合CentOS的Go语言包。你可以选择最新稳定版本。例如,下载Go 1.18.1版本:

wget https://golang.org/dl/go1.18.1.linux-amd64.tar.gz

解压Go语言包

使用tar命令将下载的压缩包解压到/usr/local目录下:

sudo tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz

配置环境变量

为了使Go命令在终端中能够正常运行,需要将Go的可执行文件路径添加到系统环境变量中。编辑/etc/profile文件,添加以下内容:

sudo vi /etc/profile

在文件末尾添加:

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

保存并退出编辑器,然后使环境变量配置生效:

source /etc/profile

验证安装

执行以下命令验证Go语言是否成功安装:

go version

如果显示Go的版本信息,说明安装成功。

2. 编写和运行Go程序

编写一个简单的Go程序

创建一个名为hello.go的文件,并在其中编写以下代码:

package main

import "fmt"

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

编译和运行Go程序

使用以下命令编译并运行该程序:

go build hello.go
./hello

如果输出了Hello, Go!,则说明Go语言环境已经配置完成。

3. 使用Nginx和Supervisor部署Go应用程序(可选)

安装Nginx

Nginx可以作为反向代理服务器,将外部请求转发到Go服务。首先,安装EPEL仓库和Nginx:

sudo yum install -y epel-release
sudo yum install -y nginx

启动Nginx服务并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

配置Nginx

编辑Nginx配置文件:

sudo vi /etc/nginx/nginx.conf

在http块中添加新的server块,配置Nginx将请求转发给Go服务。假设Go服务监听在localhost:8080

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

重载Nginx配置:

sudo systemctl reload nginx

编写Go服务

编写一个简单的HTTP服务,监听8080端口:

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello from Go service!")
}

func main() {
    http.HandleFunc("/", handler)
    fmt.Println("Go service is running at http://localhost:8080")
    http.ListenAndServe(":8080", nil)
}

编译Go程序:

go build -o myapp main.go

安装Supervisor

Supervisor是一个进程管理工具,它能确保后台服务在崩溃时自动重启。安装Supervisor:

sudo yum install -y python-pip
sudo pip install supervisor

启动Supervisor服务并设置开机自启:

sudo systemctl start supervisord
sudo systemctl enable supervisord

配置Supervisor

/etc/supervisor/conf.d/目录下创建一个新的配置文件,例如myapp.conf,内容如下:

[program:myapp]
command /path/to/myapp
directory /path/to/
autostart true
autorestart true
stderr_logfile /var/log/myapp.err.log
stdout_logfile /var/log/myapp.out.log

更新Supervisor配置并启动Go服务:

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start myapp

测试和验证

通过浏览器访问服务,输入配置的域名或IP地址,访问http://example.com。此时,Nginx将会将请求转发到Go服务,显示Hello from Go service!

通过以上步骤,你可以在CentOS系统上顺利部署和配置Go语言环境,并开始进行Go语言的开发工作。如果有任何问题,请参考相关文档或留言反馈。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: CentOS从零开始安装步骤是什么