centos

Golang项目如何在CentOS部署

小樊
33
2025-04-24 17:48:24
栏目: 编程语言

在CentOS上部署Golang项目涉及几个步骤,包括安装Go环境、构建项目、配置Web服务器等。以下是一个详细的步骤指南:

1. 安装Go环境

首先,你需要在CentOS上安装Go编程语言。

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

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

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

# 验证安装
go version

2. 构建Golang项目

假设你的项目结构如下:

myproject/
├── main.go
├── go.mod
└── go.sum

在项目根目录下运行以下命令来构建项目:

go build -o myproject

这将在当前目录下生成一个名为myproject的可执行文件。

3. 配置Web服务器

你可以使用Nginx或Apache作为反向代理服务器来处理HTTP请求并将它们转发到你的Go应用程序。

使用Nginx

  1. 安装Nginx:

    sudo yum install epel-release
    sudo yum install nginx
    
  2. 启动并启用Nginx服务:

    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  3. 配置Nginx:

    编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf),添加以下内容:

    server {
        listen 80;
        server_name your_domain.com;
    
        location / {
            proxy_pass http://localhost:8080; # 假设你的Go应用运行在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;
        }
    }
    
  4. 重新加载Nginx配置:

    sudo systemctl reload nginx
    

使用Apache

  1. 安装Apache:

    sudo yum install httpd
    
  2. 启动并启用Apache服务:

    sudo systemctl start httpd
    sudo systemctl enable httpd
    
  3. 配置Apache:

    编辑Apache配置文件(通常位于/etc/httpd/conf/httpd.conf),添加以下内容:

    <VirtualHost *:80>
        ServerName your_domain.com
    
        ProxyPass / http://localhost:8080/
        ProxyPassReverse / http://localhost:8080/
    </VirtualHost>
    
  4. 重新加载Apache配置:

    sudo systemctl reload httpd
    

4. 运行Go应用程序

最后,运行你的Go应用程序:

./myproject

或者,你可以使用nohup命令在后台运行它,以防止终端关闭时进程终止:

nohup ./myproject &

5. 配置防火墙

确保你的防火墙允许HTTP(80)和HTTPS(443)流量:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

6. 配置SSL(可选)

如果你需要HTTPS支持,可以使用Let’s Encrypt免费获取SSL证书:

sudo yum install certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com

按照提示完成SSL证书的安装和配置。

通过以上步骤,你应该能够在CentOS上成功部署你的Golang项目。

0
看了该问题的人还看了