在CentOS环境下部署Golang应用程序通常涉及以下几个步骤:
对于CentOS 8及以上版本,可以使用yum包管理器安装Golang:
sudo yum update -y
sudo dnf install golang -y
对于CentOS 7及以下版本,可以使用yum包管理器安装Golang:
sudo yum update -y
sudo yum install golang -y
验证安装:
go version
wget https://golang.org/dl/go1.20.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz
~/.bashrc
或~/.bash_profile
文件,添加以下内容:export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export GO111MODULE=on
然后使配置生效:
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 &
编写一个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
安装宝塔面板并配置网站:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
登录宝塔面板,创建网站并上传代码,配置启动项并运行项目。