centos

Golang微服务如何在CentOS搭建

小樊
52
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
看了该问题的人还看了