安装教程:http://www.fancyecommerce.com/2017/12/28/centos6-安装go框架gin的步骤,以及中间遇到的坑/
我的环境是centos7 64位
根据教程走一遍,流程记录如下:
1、安装 golang 1.9,成功
[root@izj6c9ucnwnm673q0fiv6cz go]# go version
go version go1.9.2 linux/amd64
2、安装gin框架,和教程说到的问题一样,安装失败,原因是系统自动的git版本过低,删除系统git,重新编译安装git2.7,成功
[root@izj6c9ucnwnm673q0fiv6cz go]# git --version
git version 2.7.2
3、成功更新git版本后,现在重新来安装gin框架
go get -v github.com/gin-gonic/gin
运行这句命令后,安装过程和结果如教程说的那样完美。成功
4、我在 /root/go/ 目录下创建 g3.go 文件,代码如下
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
//这里的ip地址我换成我的服务器ip了,第一次以3000端口运行该文件失败后
//担心是3000端口被占用的原因,后面改成了3510
r.Run("0.0.0.0:3510")
}
执行 go run g3.go 命令后,结果提示如下:
[root@izj6c9ucnwnm673q0fiv6cz go]# go run g3.go
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)
[GIN-debug] GET /ping --> main.main.func1 (3 handlers)
[GIN-debug] Listening and serving HTTP on 0.0.0.0:3510
[GIN-debug] [ERROR] listen tcp 0.0.0.0:3510: bind: cannot assign requested address
先试着找找原因,查看防火墙是否放行了 3510 端口,我运行了如下命令:
firewall-cmd --zone=public --list-ports
结果显示为:
[root@izj6c9ucnwnm673q0fiv6cz go]# firewall-cmd --zone=public --list-ports
80/tcp 00000-10000/tcp 11000/tcp 12000/tcp 13000/tcp 8000/tcp 14000/tcp 8001/tcp 15000/tcp 3510/tcp
确定3510端口已经放行(为了不暴露我的安全端口,以上除了3510端口外,其他端口是编的),阿里云后台服务器的安全端口也打开了,最后再执行 go run g3.go 命令,还是一样的错误,求助呀,无招了!各位大神
本文由 tgy3300 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。
可自由转载、引用,但需署名作者且注明文章出处。