go 搭建Api
文章目录
前言
学习初步搭建go 和 gin 框架,附带Linux部署
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装go
1、win10安装
官网下安装
https://golang.google.cn/dl/
2、linux下安装和更换版本
1、yum安装
yum install golang
2、更新需要的版本
1、在官网找到想要的版本(我下载的是19.l版本)
2、解压
tar -zxvf go1.19.linux-amd64.tar.gz
解压完成后会生成一个go文件
3、将文件放到固定的地方
mv go/* /usr/local/go
4、 变更配置
export PATH=P A T H : PATH:PATH:GOROOT/bin
export GOROOT=/usr/local/go
3、 如果之前是用软连接的方式,需要将之前的软链接进行删除;
cd /usr/bin
ls -l go
rm -f go gofmt
4、查看对应的 go 信息;
1、ln -s /usr/local/go/bin/go go
2、ln -s /usr/local/go/bin/gofmt gofmt
3、ll -l go
5、查看版本
go version
二、部署gin框架
1.下载对应的环境
go get -u github.com/gin-gonic/gin
2. 下载对应的框架
git clone https://github.com/wannanbigpig/gin-layout.git
3、 运行框架
# 建议开启GO111MODULE
# go env -w GO111MODULE=on
# 下载依赖
go mod download
# 首次运行会自动复制一份示例配置(config/config.example.yaml)文件到config目录(config/config.yaml)
go run main.go
# 项目起来后执行下面命令访问示例路由
curl "http://127.0.0.1:9999/api/v1/hello-world"
# {"code":0,"message":"OK","data":{"result":"hello gin-layout"},"cost":"6.151µs"}
curl "http://127.0.0.1:9999/api/v1/hello-world?name=world"
# {"code":0,"message":"OK","data":{"result":"hello world"},"cost":"6.87µs"}
三、gin框架 linux 环境下部署
1.使用supervisor管理go进程
更新yum源
yum install epel-release -y
安装
yum install supervisor -y
启动、重启、停止 supervisor
systemctl start/restart/stop supervisord.service
设置开机启动supervisor
systemctl enable supervisord.service
配置托管进程
创建配置文件 /etc/supervisord.d/go-layout.ini,内容如下:
[program:go-layout]
command=/home/go/go-layout/cmd/go_layout_liunx -c=/home/go/gin-layout/configconfig.yaml
directory=/home/go/go-layout
autostart=true
startsecs=5
user=root
redirect_stderr=true
stdout_logfile=/home/go/go-layout/supervisord_go_layout.log
加载新配置
supervisorctl update
服务启动、重启、停止
supervisorctl start/restart/stop go-layout
2.supervisor启动中可能出现的问题解决
supervisor 配置完毕,使用supervisorctl reload 和supervisorctl update 启动时候报错
/usr/bin/python2 /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
3.打包
go build -o cmd/go_layout_liunx main.go
4.nginx反向代理
server {
listen 9091;
server_name text.meiduinfo.cn
location / {
proxy_set_header Host $host;
proxy_pass http://172.0.0.1:9999;
}
}
5.解决go资源下载超时
go env -w GOPROXY=https://goproxy.cn,direct
总结
提示:初步完善需要随时更新