Loading... # golang项目搭建的基本流程 ## 一、安装go环境 ### 1、官网下载 [https://golang.google.cn/)](https://golang.google.cn/) ### 2、文件上传 将go1.11.linux-amd64.tar.gz文件上传到(/www/server)目录 ### 3、解压文件 ``` tar -xzvf go1.11.linux-amd64.tar.gz 解压文件 ``` ### 4、添加环境变量 添加环境变量,使用vim 打开/etc/profile 文件。 ``` vim /etc/profile ``` 最底部添加 ``` export GOROOT=/www/server/go export GOBIN=$GOROOT/bin export GOPKG=$GOROOT/pkg/tool/linux_amd64 export GOARCH=amd64 export GOOS=linux export GOPATH=/www/wwwroot/Golang export PATH=$PATH:$GOBIN:$GOPKG:$GOPATH/bin ``` 添加好之后,保存退出,然后执行如下命令使其生效: ``` source /etc/profile ``` ## 二、redis-docker安装 ### 1、下载redis镜像 ``` docker pull redis #如果使用docker pull redis命令,就会下载最新的redis镜像 ``` ### 2、创建实例并启动Redis ``` mkdir -p /mydata/redis/conf (1) touch /mydata/redis/conf/redis.conf (2) docker run -p 6378:6379 --name redis \ (3) -v /mydata/redis/data:/data \ (4) -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \ (5) -d redis redis-server /etc/redis/redis.conf (6) --requirepass "root" (7) ``` (1)#创建目录 (2)#创建文件(为什么要创建这个文件呢?因为我们在把容器内部的文件挂载到主机的时候会把他当做目录去挂载,所以提前创建好这个文件就不会挂载成目录了) (3)#把Docker中的redis的6379端口映射到主机的6378端口#<宿主端口>:<容器端口> (4) #将redis容器内部的data文件夹挂载到主机 (5)#将redis容器内部的redis.conf文件挂载到主机 (6) #开启Redis的后台运行 (7)#添加Redis密码 复制 ``` docker run -p 6369:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis:3.2 redis-server /etc/redis/redis.conf --requirepass "root" ``` ## 三、linux本地环境下启动项目 1、查看go的环境变量 ``` go env 找到export GOPATH=项目路径 例如: export GOPATH=/www/wwwroot/Golang ``` 2、新建对应的目录,如:/www/wwwroot/Golang ``` mkdir /www/wwwroot/Golang ``` 3、将编译好的二进制文件上传到/www/wwwroot/Golang 目录下,给二进制文件加权限 ``` chmod 777 项目名称 (777最高的权限) ``` 4、启动项目 ``` ./项目名称 ``` ## 四、docker容器中启动项目 [](https://blog.csdn.net/dongdong9223/article/details/83059265) 1、编写好dockerfile ``` FROM golang:latest WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . ADD . /app RUN GOOS=linux go build -o 项目名称 EXPOSE 8899 CMD ["/app/项目名称"] ``` 2、上传到服务器对应的文件目录下,如:/www/wwwroot/Golang 3、创建images ``` docker build -t 项目名称:1.1.0 . ``` 4、查询images_id : ``` docker images ``` ![avatar](http://type.zimopy.com/usr/uploads/2023/02/2795192139.png) 5、启动docker的images 并映射端口到宿主机 ``` docker run -d -p 8899:8899 4cdf4a07be3e(images_id) ``` ## 五、搭建项目中遇到的问题 ### 1、redis容器重启问题 不能直接强制删除redis容器,强制删除后重启会出现启动不了容器的情况 原因: > redis的config文件使用了锁,正常启动--上锁,(非正常启动操作文件一直上锁,无法访问),正常停止--解锁 最后修改:2023 年 02 月 20 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏