接着我的前一篇博客​​​​​​gin实现简易服务器_liji_digital的博客-CSDN博客

 我申请的是ubuntu服务器。所以我的go exe要在windows上交叉编译,然后上传到阿里云。

1 交叉编译

在windows上交叉编译只要修改两处设置即可:

go env -w GOOS=linux
go env -w GOARCH=amd64

 实际上由于我的windows已经是64位了,所以第二条其实已经满足了,不用修改。

修改后,可以用go env检查设置是否成功:

 此外,你可以用putty登录阿里云,输入lscpu确认服务器也是64位:

x86_64的含义与amd64相同

2 开放端口

阿里云默认开放了80端口,所以这里代码也是打开了80端口。

你可以在“防火墙”一栏查看并修改开放的端口。

我的代码:

package main

import (
	"fmt"

	"github.com/gin-gonic/gin"
)

func main() {
	fmt.Println("hello gin!")

	r := gin.Default()
	r.GET("/json/", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "Hello gin",
		})
	})

	r.GET("/string/", func(c *gin.Context) {
		c.String(200, "string")
	})

	r.GET("/picture/", func(c *gin.Context) {
		c.File("./tennis.jpg")
	})

	r.GET("/obj/", func(c *gin.Context) {
		c.File("./uploads_files_748162_OBJ.obj")
	})

	r.Run(":80")
}

3 编译

在vscode 中输入:

go build main.go

 产生main文件

4上传程序和数据

利用winscp上传编译后的程序main,以及相应的obj和jpg文件

 5 执行main

用putty登录服务器,将main文件的权限改为可执行:

sudo chmod +x main

然后执行

sudo ./main

在浏览器里输入     网址:80/picture,可见效果.

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐