温馨提示×

Golang打包的CentOS服务如何部署

小樊
117
2025-02-14 10:33:33
栏目: 编程语言

要在CentOS上部署使用Golang编写的服务,可以按照以下步骤进行:

准备工作

  1. 安装CentOS
  • 下载CentOS的ISO镜像文件,制作成启动U盘或光盘。
  • 从U盘或光盘启动服务器,按照提示完成安装。建议选择服务器模式进行安装。
  1. 更新系统和安装必要的软件
  • 更新系统以获取最新的安全补丁和软件包:
    sudo yum update -y
    
  • 安装常用的服务器软件,如Apache、MySQL和PHP:
    sudo yum install httpd mysql-server php -y
    

安装Golang

  1. 下载并解压Golang安装包
  • Golang官方网站下载适用于CentOS的二进制文件。
  • 解压到指定目录,例如 /usr/local
    wget https://golang.org/dl/go1.16.7.linux-amd64.tar.gz
    sudo tar -xvf go1.16.7.linux-amd64.tar.gz -C /usr/local/
    
  1. 配置Golang环境变量
  • 创建工作目录并设置GOPATH环境变量:
    mkdir -p $HOME/go/src
    echo "export GOPATH=$HOME/go" >> ~/.bashrc
    echo "export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin" >> ~/.bashrc
    source ~/.bashrc
    

编译和部署Golang服务

  1. 编译Golang项目
  • 在项目目录下设置目标操作系统和架构,并编译生成可执行文件:
    set GOOS=linux
    set GOARCH=amd64
    go build -o main-linux main.go
    
  1. 上传可执行文件到服务器
  • 使用scprsync或其他文件传输工具将编译好的二进制文件上传到服务器。
  1. 设置文件权限并运行服务
  • 设置文件权限以允许执行:
    chmod 777 main-linux
    
  • 运行服务:
    ./main-linux
    
  1. 后台运行服务
  • 若要让服务在后台运行,可以使用nohup命令:
    nohup ./main-linux > log.txt 2>&1 &
    

配置防火墙和网络

  1. 配置防火墙
  • 允许HTTP(80)和HTTPS(443)流量:
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
    
  1. 配置网络
  • 设置静态IP地址(根据需要修改):
    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
    # 添加或修改以下内容:
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    sudo systemctl restart network
    

监控和维护

  • 使用监控工具如Nagios或Zabbix监控系统性能。
  • 定期备份数据,确保数据安全。

通过以上步骤,您可以在CentOS上成功部署使用Golang编写的服务。确保在每一步都仔细检查,以确保所有配置都正确无误。

0