温馨提示×

Golang微服务如何在CentOS搭建

小樊
75
2025-04-24 17:59:39
栏目: 编程语言

在CentOS上搭建Golang微服务涉及几个关键步骤,包括安装Go环境、配置环境变量、编译和部署服务、配置服务(如使用Systemd)、配置防火墙和网络,以及监控和维护服务。以下是详细的步骤:

1. 安装Go环境

使用yum安装

sudo yum update -y sudo yum install golang -y 

手动下载并安装

  1. 下载Golang安装包:
wget https://golang.org/dl/go1.18.linux-amd64.tar.gz 
  1. 解压安装包到 /usr/local 目录:
sudo tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz 
  1. 配置环境变量,编辑 /etc/profile~/.bashrc 文件,添加以下内容:
export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin 
  1. 使配置生效:
source /etc/profile 
  1. 验证安装:
go version 

2. 编译和部署Golang服务

  1. 在项目目录下设置目标操作系统和架构,并编译生成可执行文件:
set GOOS=linux set GOARCH=amd64 go build -o main -linux main.go 
  1. 将编译好的二进制文件上传到服务器,可以使用 scp 命令或其他文件传输工具。

  2. 设置文件权限并运行服务:

chmod +x main ./main 
  1. 若要让服务在后台运行,可以使用 nohup 命令:
nohup ./main > log.txt 2>&1 & 

3. 配置服务(如使用Systemd)

  1. 创建Systemd服务文件:
sudo nano /etc/systemd/system/myapp.service 
  1. 在文件中添加以下内容:
[Unit] Description=My Go Application After=network.target [Service] User=yourusername Group=yourgroupname ExecStart=/path/to/your/myapp Restart=always Environment=GO_ENV=production [Install] WantedBy=multi-user.target 
  1. 启动和启用服务:
sudo systemctl start myapp sudo systemctl enable myapp 
  1. 查看服务状态和日志:
sudo systemctl status myapp sudo journalctl -u myapp -f 

4. 配置防火墙和网络

  1. 配置防火墙允许应用的端口通信:
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent 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 

5. 监控和维护服务

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

通过以上步骤,你可以在CentOS上成功部署和运行Golang微服务。

0