在CentOS上部署Golang项目通常涉及以下几个步骤:
在CentOS上安装Golang,可以通过以下命令:
sudo yum install -y wget wget https://dl.google.com/go/go1.18.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz 然后,配置环境变量:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc echo 'export GOPATH=$HOME/go' >> ~/.bashrc source ~/.bashrc 验证安装:
go version 在项目根目录下,使用以下命令进行交叉编译,生成适用于 Linux 的可执行文件:
GOOS=linux GOARCH=amd64 go build -o myapp-linux-amd64 main.go 使用 scp 或其他文件传输工具将编译好的可执行文件上传到 CentOS 服务器:
scp myapp-linux-amd64 user@your_server_ip:/path/to/deploy 在服务器上,为二进制文件赋予执行权限,并后台运行:
chmod +x /path/to/deploy/myapp-linux-amd64 nohup /path/to/deploy/myapp-linux-amd64 > /path/to/deploy/log.log 2>&1 & 允许HTTP(80)和HTTPS(443)流量:
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload 配置静态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 编写一个 Dockerfile:
# 使用官方的 Golang 镜像作为基础镜像 FROM golang:1.18 # 设置工作目录 WORKDIR /app # 复制 Golang 应用程序到容器中 COPY . /app # 构建 Golang 应用程序 RUN go build -o myapp-linux-amd64 main.go # 暴露端口 EXPOSE 8080 # 运行 Golang 应用程序 CMD ["./myapp-linux-amd64"] 构建 Docker 镜像:
docker build -t myapp . 运行 Docker 容器:
docker run -p 8080:8080 myapp 使用监控工具如Nagios或Zabbix监控系统性能。定期备份数据,确保数据安全。