温馨提示×

怎样在CentOS上部署Golang应用

小樊
36
2025-02-24 18:31:28
栏目: 编程语言
GO开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上部署Golang应用可以分为几个步骤,包括安装Go环境、编写和构建应用、配置服务和端口、以及设置反向代理(可选)。以下是一个详细的步骤指南:

1. 安装Go环境

首先,你需要在CentOS上安装Go语言环境。

# 更新系统包
sudo yum update -y

# 下载Go安装包
wget https://golang.org/dl/go1.17.6.linux-amd64.tar.gz

# 解压到/usr/local目录
sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz

# 配置环境变量
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc
source ~/.bashrc

# 验证安装
go version

2. 编写和构建Golang应用

假设你已经有一个Golang应用,如果没有,可以创建一个简单的示例应用。

// main.go
package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, World!")
    })
    http.ListenAndServe(":8080", nil)
}

构建应用:

go build -o myapp main.go

3. 配置服务和端口

为了在CentOS上运行你的应用,你需要配置一个服务来管理它。可以使用systemd来创建一个服务。

创建一个新的systemd服务文件:

sudo nano /etc/systemd/system/myapp.service

添加以下内容:

[Unit]
Description=My Golang Application
After=network.target

[Service]
User=<your_user>
Group=<your_group>
ExecStart=/path/to/your/myapp
Restart=always

[Install]
WantedBy=multi-user.target

替换<your_user><your_group>为你希望运行应用的用户和组,/path/to/your/myapp是你的应用的可执行文件路径。

启动并启用服务:

sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp

4. 设置反向代理(可选)

为了更好地管理流量和提高安全性,可以使用Nginx作为反向代理。

安装Nginx:

sudo yum install nginx -y

启动并启用Nginx服务:

sudo systemctl start nginx
sudo systemctl enable nginx

配置Nginx反向代理:

编辑Nginx配置文件:

sudo nano /etc/nginx/conf.d/myapp.conf

添加以下内容:

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

替换your_domain.com为你的域名。

重新加载Nginx配置:

sudo systemctl reload nginx

现在,你的Golang应用应该可以通过浏览器访问了。

总结

通过以上步骤,你可以在CentOS上成功部署一个Golang应用。确保你的应用在开发和测试环境中运行正常,然后再进行生产环境的部署。

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

推荐阅读:如何在CentOS上部署Golang应用

0