0%

go部署实践

说明

  • 本次笔记主要记录部署go
  • 服务信息为centos 7
1
2
3
[root@VM-24-13-centos home]# uname -a
Linux VM-24-13-centos 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

直接部署

  • 分别为下载,解压go
1
2
3
4
5
6
7
8
[root@VM-24-13-centos /]# cd home
[root@VM-24-13-centos home]# wget https://dl.google.com/go/go1.20.4.linux-amd64.tar.gz
[root@VM-24-13-centos home]# tar -zxvf go1.20.4.linux-amd64.tar.gz
[root@VM-24-13-centos bin]# pwd
/home/go/bin
[root@VM-24-13-centos bin]# ./go version
go version go1.20.4 linux/amd64

  • 配置go的环境变量
1
2
3
4
5
6
7
8
9
10
[root@VM-24-13-centos bin]# vi /etc/profile 

export GOPATH=/home/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

# 生效环境变量
[root@VM-24-13-centos bin]# source profile

[root@VM-24-13-centos etc]# go version
go version go1.20.4 linux/amd64
  • 服务器需要搭建好mysql环境,以及建好数据库,可以参考这篇文章中的MySQL安装过程

image-20230731105226623

  • 使用 Git 克隆你的 Gin 项目到服务器上,并设置go的代理
1
2
3
4
5
6
7
8
9
[root@VM-24-13-centos home]# git clone https://github.com/Louis-me/studyGin.git

[root@VM-24-13-centos home]# cd studyGin/
[root@VM-24-13-centos home]#go env -w GO111MODULE=on
[root@VM-24-13-centos home]# go env -w GOPROXY=https://proxy.golang.com.cn,direct
# 编译下载依赖文件
[root@VM-24-13-centos studyGin]# go build
# 启动项目
[root@VM-24-13-centos studyGin]# ./myGin
  • 注意gin的服务端口信息为8080,防火墙需要打开,若时云服务器那么规则端口也要打开
1
2
3
4
5
6
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload # 配置立即生效
firewall-cmd --zone=public --list-port # 查看防火墙所有开放的端口
firewall-cmd --state # 查看防火墙状态
netstat -lnpt # 查看监听的端口
netstat -lnpt |grep 8080 # 查看监听的具体端口
  • 测试
1
2
3
4
5
6
7
8
9
10
import requests
import json
data ={"name": "admin", "password": "123456"}
resp = requests.post("http://182.XXX.XXX.XXX:8080/login", data=data)
print(resp.text)
dic = json.loads(resp.text)
token = dic["data"]["Token"]
header = {"token": token}
resp2 = requests.get("http://182.XXX.XXX.XXXX:8080/GetUserList", headers=header)
print(resp2.text)
  • 如果需要在后台运行项目,并且在关闭终端时项目依然保持运行状态,可以使用 nohup 命令:
1
2
3
4
5
[root@VM-24-13-centos studyGin]# ./myGin

[root@VM-24-13-centos studyGin]# nohup ./myGin > gin.log &
[2] 16486
[root@VM-24-13-centos studyGin]# nohup: 忽略输入重定向错误到标准输出端