【Linux — 部署 Go Web】在 Linux 环境中部署 go web 应用

下面总结学习 go 时,使用最简单的方式在 Linux 中部署 go web 应用,部署后可通过 Windows 环境访问运行在 Linux 环境中的 go web 应用。

整个过程是使用 FinalShell 终端工具与 Linux 环境进行交互,所以对 Linux 的输入及配置等操作均在 Windows 环境下借助 FinalShell 实现。

 如果Linux 环境未安装 Go 先看这个【Linux — 安装 Go】Linux 系统安装 Go 过程总结-CSDN博客

1.创建 go 文件

在Linux 系统中的 usr 目录下新建项目文件夹 test ,新建文件夹后,进入 test 开始测试。

①输入命令【vim hello.go】新建以 hello 命名的 go 文件

②输入命令【i】进入vim的插入模式

③输入代码

package main

import (
	"fmt"
	"net/http"
)

func main() {
	http.HandleFunc("/", hello)
	server := &http.Server{
		Addr: "0.0.0.0:8000",
	}

	fmt.Println("server startup...")

	if err := server.ListenAndServe(); err != nil {
		fmt.Printf("server startup failed,err:%v \n", err)
	}
}

func hello(w http.ResponseWriter, _ *http.Request) {
	w.Write([]byte("hello huangpengju.com!"))
}

④按下【Esc】后输入【:wq】命令,保存并退出

⑤输入【ls】命令可查看 test 目录下已经新建了 go 文件

2.编译 go 文件

①输入命令【go build hello.go】

②输入【ls】命令可查看 test 目录已经有了编译好的可执行程序 hello

3.运行 go-web 应用

①输入【./hello】命令运行上一步编译产生的可执行程序 hello

②可执行程序运行时,会在终端看到该程序返回的字符 server startup...

4.访问 go-web 应用

访问 go-web 应用的前提条件是 hello 可执行程序一直处在运行状态

4.1在 Linux 环境中访问 go-web 应用

方式①打开新的终端,在终端输入【curl + IP:端口】,IP 可以是 0.0.0.0,端口是在代码中已经设定好的。

绿色方框是 go web 应用的响应。

方式②打开新的终端,在终端输入【curl + IP:端口】,IP 可以是 Linux 已配置的 IP(可使用【ip addr show】命令查看IP)

这里看到的 curl 192.168.240.240:8000 后面的 / 可有可无,不影响结果。

4.2在 Windows 环境中访问 go-web 应用

①先检查 Linux 环境的防火墙状态,输入命令【systemctl status firewalld】

②在 Windows 环境中的浏览器地址栏输入【Linux系统IP:端口】

此时访问不到 go web 应用的原因可能是 Linux 环境中的防火墙阻止了 Windows 环境中浏览器的请求。

③暂时关闭 Linux 防火墙,在终端输入【systemctl stop firewalld】

④重复②的操作,在 Windows 环境中的浏览器地址栏输入【Linux系统IP:端口】

浏览器有响应,说明可以正常访问 go web 应用。

上述这一过程相当于使用最简单的方式在 Linux 环境部署了一个简单的 go web 项目。

当然也可以把 go 文件的创建和编译的过程放在 Windows 环境中进行,编译时记得进行相关配置,最后把编译好的可执行程序拷贝到 Linux 环境后运行即可。

猜你喜欢

转载自blog.csdn.net/weixin_41989013/article/details/134659297