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

6 篇文章 0 订阅
3 篇文章 0 订阅

下面总结学习 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 环境后运行即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值