在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监控系统性能。定期备份数据,确保数据安全。