在CentOS上搭建Golang微服务涉及几个关键步骤,包括安装Go环境、配置环境变量、编译和部署服务、配置服务(如使用Systemd)、配置防火墙和网络,以及监控和维护服务。以下是详细的步骤:
sudo yum update -y sudo yum install golang -y
wget https://golang.org/dl/go1.18.linux-amd64.tar.gz
/usr/local
目录:sudo tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz
/etc/profile
或 ~/.bashrc
文件,添加以下内容:export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/profile
go version
set GOOS=linux set GOARCH=amd64 go build -o main -linux main.go
将编译好的二进制文件上传到服务器,可以使用 scp
命令或其他文件传输工具。
设置文件权限并运行服务:
chmod +x main ./main
nohup
命令:nohup ./main > log.txt 2>&1 &
sudo nano /etc/systemd/system/myapp.service
[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
sudo systemctl start myapp sudo systemctl enable myapp
sudo systemctl status myapp sudo journalctl -u myapp -f
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent sudo firewall-cmd --reload
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微服务。