接着我的前一篇博客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,可见效果.