
部署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 系统将编译好的代码扔上去就可以了。