在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微服务。