宝塔面板部署go项目

宝塔面板部署go项目

本文偏应用,会以宝塔演示为主,而且针对的是中小型项目;

(注:大型团队项目都是有专业部署规划的,该项目仅针对自身练手或小团队项目)

我们都知道,部署项目,其实就是他的二进制文件,基本都是有多种方式部署:

1.将项目文件打包进入服务器,并下载go环境,build该go项目,并run起来;即和本地跑项目没太大区别;但是该方法不太适合大型的项目,因为build会占用较大的内存,而服务器内存通常都较小,会有概率失败,而且下载各种环境也是一个弊端,日常项目自然是没有问题的;

2.使用docker部署项目到服务器;

3.事先生成项目的linux版本二进制文件为main,单独将main拉进服务器,并配置启动项,若没有问题可直接运行,直接少了build和下载环境的步骤;

4…

ok,接下来一个一个进行教学;

1.手动配置部署

环境配置

在go官方下载linux的go包,网址:

All releases - The Go Programming Language (google.cn)

下载完毕后上传到服务器

image-20240324111614365

然后使用

tar -C /usr/local -xzf go1.22.1.linux-amd64.tar.gz

将文件解压到usr/local目录

image-20240324111924036

将Go语言的可执行文件路径添加到系统的PATH环境变量中,以便在任何位置都能够访问到Go相关的命令。

echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc

然后运行以下命令使其生效:

source ~/.bashrc

验证安装: 执行以下命令验证Go语言是否成功安装:

go version

如果输出Go的版本信息,则表示安装成功。

然后设置go的代理地址,

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn

不然可能会下载库很慢;

将源代码拉入服务器并生成项目二进制文件

image-20240324112811390

之后可以将源代码拉入服务器

1.进入项目指定目录,上传自己本地项目的压缩包,效果图如下,并解压成文件夹;

image-20240324112916002

进入项目根目录,打开终端,输入go mod tidy下载项目需要的依赖库,再使用go build main.go生成二进制可执行文件main;

image-20240324140445035 image-20240324113140623

创建项目

image-20240324112704223

将项目生成的二进制main文件填入(仿照下边这个)

image-20240324140602193

保存之后使用ip+端口+路由就可以访问了;

image-20240324140649917

若想要配置域名,需要点击域名管理,增加域名,并申请ssl证书;

如果有数据库,也需要建立对应的数据库用户和密码,并将表结构导入;(同代码配置文件中写的一致);

2docker配置部署

为了能够更完整的演示docker部署,教程会先演示在本地生成docker镜像并提交到dockerhub,然后在服务器上拉取先前提交的docker镜像生成容器运行;

以一个启动main.go文件启动的项目示例

前置条件:

1.windows上下载docker desktop

2.注册dockerhub账号,并在本地登录dockerhub

好了,下边是演示:

首先要保证你的项目可以运行,新建一个Dockerfile文件,输入以下基础go项目配置

输入:image-20240324142720131

# 基于 golang 镜像构建 Docker 容器
FROM golang:latest

# 设置工作目录为 /app
WORKDIR /app

# 将当前目录下的所有文件复制到工作目录 /app 中
COPY . .

# 编译 Go 语言程序
RUN go build -o main .

# 暴露容器的端口,如果您的 Go 语言程序监听了某个端口,则需要暴露该端口
EXPOSE 8080

# 运行 Go 语言程序
CMD ["./main"]

在终端输入:

docker login 

若第一次登录是需要输入账号密码;

生成docker镜像

docker build -t test:v1

-t 设置镜像名称和版本号 test是镜像名称 v1是版本号;

先测试运行下

docker run -p主机端口号:容器端口号 -d --name 容器名 镜像名:版本号;

如果项目能运行就将其推送到dockerhub;:

标记你的本地镜像以指定 Docker Hub 中的目标仓库和标签:

docker tag [本地镜像名称] [你的 Docker Hub 用户名]/[目标仓库名称]:[标签]

最后,推送镜像到 Docker Hub:

docker push [你的 Docker Hub 用户名]/[目标仓库名称]:[标签]

然后进入服务器,同样输入docker login登录

从 Docker Hub 拉取并运行镜像:

使用以下命令从 Docker Hub 拉取镜像:

docker pull [你的 Docker Hub 用户名]/[目标仓库名称]:[标签]

拉取完成后,你可以运行该镜像:

docker run [你的 Docker Hub 用户名]/[目标仓库名称]:[标签]

此时你的项目就在服务器上运行了,嗯,非常的方便;

3可执行文件配置

第三种是先生成main可执行文件,只将可执行文件拉入服务器中,之后过程和方法一配置网站一样;

  • 26
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值