温馨提示×

在CentOS上部署Golang应用的步骤

小樊
63
2025-05-06 20:03:04
栏目: 编程语言

在CentOS上部署Golang应用通常涉及以下几个步骤:

1. 安装Go环境

  • 下载并解压Go安装包

    从Go官方网站下载适合CentOS的Go语言包,例如Go 1.17版本。

    sudo wget https://golang.org/dl/go1.17.2.linux-amd64.tar.gz
    sudo tar -C /usr/local -xzf go1.17.2.linux-amd64.tar.gz
    
  • 配置环境变量

    编辑/etc/profile文件,添加以下内容:

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

    保存文件后,运行以下命令使环境变量生效:

    source /etc/profile
    

    验证安装:

    go version
    

    如果显示了Go的版本信息,则表示安装成功。

2. 编写和编译Go应用程序

在项目目录下编写你的Go应用程序代码。使用go build命令编译应用程序,生成可执行文件。例如:

cd /path/to/your/app
go build -o myapp

3. 使用systemd管理服务(可选但推荐)

  • 创建systemd服务文件

    创建一个systemd服务文件,例如/etc/systemd/system/myapp.service,并添加以下内容:

    [Unit]
    Description=My Go Application
    After=syslog.target
    
    [Service]
    Type=simple
    User=root
    WorkingDirectory=/path/to/your/app
    ExecStart=/path/to/your/app/myapp
    Restart=always
    Environment=ENV_VAR1=value1 ENV_VAR2=value2
    
    [Install]
    WantedBy=multi-user.target
    
  • 加载并启动服务

    sudo systemctl daemon-reload
    sudo systemctl start myapp.service
    sudo systemctl status myapp.service
    
  • 设置开机自启动

    sudo systemctl enable myapp.service
    

4. 配置Nginx反向代理(可选)

  • 编辑Nginx配置文件

    通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf,并添加以下内容:

    server {
        listen 80;
        server_name your_domain_or_ip;
        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;
        }
    }
    
  • 重新加载Nginx配置并启动Nginx服务

    sudo systemctl restart nginx
    sudo systemctl status nginx
    

5. 访问你的应用

配置好Nginx后,你可以通过服务器的IP地址或域名来访问你的Go应用程序。请确保你的防火墙允许外部访问你设置的端口。

以上步骤涵盖了在CentOS上从安装Golang到打包和部署项目的完整流程。如果在配置过程中遇到问题,可以参考Go官方文档或相关社区资源。

0