用Go语言gin框架写了一个测试接口
package mainimport ("github/gin-gonic/gin""log""net/http")func main() {r := gin.Default()r.GET("/test", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"code": 1, "message": "success", "data": nil})})err := r.Run(":8080")if err != nil {log.Println(err)return}}
用goland编辑器可以正常跑起来,开发操作系统是Windows,现在就想打一个Linux可以跑起来的包。
首先CMD命令下设置参数
set GOARCH=amd64set GOOS=linux
通过go env命名查看设置成功。
go build -o main main.go
生成一个main文件,用Xshell工具打开服务器,安装lrzsz工具
yum -y install lrzsz
把生成的main文件拖拽到打开服务器的Xshell窗口,把main文件上传到服务器。给main设置成可执行文件(chmod -R 777 文件,初次测试给最大权限就对了)
chmod -R 777 main
命令行输入./main,发现跑起来了,但是浏览器输入ip:8080/test路径访问不了。那就再打开一个服务器窗口,curl 127.0.0.1:8080/test,发现没有安装curl工具。
yum install -y curl
安装完毕,再curl 127.0.0.1:8080/test下,发现可以请求得到。说明服务是正常的,那就查下服务器防火墙是否打开来了。
systemctl status firewalld
果然防火墙是打开的,反正是测试环境,就把防火墙关了,不去设置8080端口防火墙放行了。
systemctl stop firewalld
查看防火墙状态,确定把防火墙关闭了。那就再去浏览器输入ip:8080/test。果然可以访问了。
明天再测试下docker启动Go项目。记录下生活,有兴趣的,大家相互学习,相互交流。