部署Go语言程序到Linux服务器
发布时间:2022-08-29 09:48:38

后端代码部署有两种方式:在本地生成二进制文件,上传到Linux服务器运行;其二, linux搭建好环境,将代码上传,然后对代码进行编译,运行即可。

 

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

 

下面所示的是我们在 Windows/Mac 系统下开发的代码:

package main

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

func sayHello(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "Hi, Redseanet!")
}
func main() {
	http.HandleFunc("/", sayHello)
	log.Println("启动成功,可以通过 localhost:8000 访问")
	err := http.ListenAndServe(":8000", nil)
	if err != nil {
		log.Fatal("List 8000")
	}
}

编译代码命令如下所示:

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

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

% sh web3-build.sh
% ls
web1.go		web2.go		web2.html	web3		web3-build.sh	web3.go
% ./web3 
2022/08/29 09:54:59 启动成功,可以通过 localhost:8000 访问

 

不需要任何语言环境,像 java 程序需要在服务器安装 java,php 需要安装 Apache,PHP 等运行环境,go 统统不需要,只需要一个 linux 系统将编译好的代码扔上去就可以了。