centos

Golang项目在CentOS上如何部署

小樊
49
2025-06-20 08:04:20
栏目: 编程语言

在CentOS上部署Golang项目通常涉及以下几个步骤:

1. 安装CentOS

2. 安装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

3. 编译Golang项目

在项目根目录下,使用以下命令进行交叉编译,生成适用于 Linux 的可执行文件:

GOOS=linux GOARCH=amd64 go build -o myapp-linux-amd64 main.go

4. 上传文件到服务器

使用 scp 或其他文件传输工具将编译好的可执行文件上传到 CentOS 服务器:

scp myapp-linux-amd64 user@your_server_ip:/path/to/deploy

5. 设置执行权限并运行

在服务器上,为二进制文件赋予执行权限,并后台运行:

chmod +x /path/to/deploy/myapp-linux-amd64
nohup /path/to/deploy/myapp-linux-amd64 > /path/to/deploy/log.log 2>&1 &

6. 配置防火墙和网络(可选)

允许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

7. 使用Docker(可选)

编写一个 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

8. 监控和维护

使用监控工具如Nagios或Zabbix监控系统性能。定期备份数据,确保数据安全。

0
看了该问题的人还看了