部署Go语言程序到Linux服务器

通过前面的学习相信大家对Go语言已经有了一定的了解,平时我们都是在本地进行开发调试访问的。那要怎么打包到服务器上呢?下面通过一个简单的实例来给大家介绍一下如何把我们写好的GO语言程序发布到服务 Linux 服务器上。

下面所示的是我们在Window下开发的代码:
package main

import (
    "fmt"
    "log"
    "net/http"
)

func sayHello(w http.ResponseWriter, r *http.Request)  {
    fmt.Fprintf(w,"您看到我了")
}

func main() {
    http.HandleFunc("/",sayHello)
    log.Println("启动了")
    err := http.ListenAndServe(":9000",nil)
    if err != nil{
        log.Fatal("List 9000")
    }
}
代码已经写好了,现在需要编译了,由于是 window 环境编译到 linux 下运行,所有涉及到跨平台编译。

编译代码命令如下所示:

set GOARCH=amd64   //设置目标可执行程序操作系统构架,包括 386,amd64,arm
set GOOS=linux           //设置可执行程序运行操作系统,支持 darwin,freebsd,linux,windows
go build ./main.go       //打包

注意:使用 Window 10 系统的小伙伴必须用 cmd 工具执行上述命令,不能使用 powershell。

OK,编译完成后会生成一个 main 可执行文件,没有后缀,这时只需要把这个文件上传到你的虚拟机,直接运行就好了。


运行后如果出现上图的效果,就说明已经运行起来了。这时打开你的浏览器访问服务器的 IP:9000 就能看到如下图的内容了


好啦!就这么简单,不需要任何语言环境,像 java 程序需要在服务器安装 java,php 需要安装 Apache,PHP 等运行环境,go 统统不需要,只需要一个 linux 系统就好,扔上去就可以了。