温馨提示×

在CentOS上部署Golang应用的步骤

小樊
56
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