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

5 篇文章 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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一名 Linux 运维工程师,你需要掌握以下几个方面的知识: 1. Linux 操作系统基础知识:掌握 Linux 操作系统的基本结构、文件系统、命令行操作等。 2. 网络基础知识:掌握 TCP/IP 协议、网络拓扑、网络配置等。 3. Shell 编程:掌握 Shell 脚本编程,能够编写自动化脚本、快速解决问题。 4. 数据库管理:掌握 MySQL、PostgreSQL 等数据库的安装、配置、备份与恢复、性能优化等操作。 5. Web 服务器管理:掌握 Apache、Nginx 等 Web 服务器的安装、配置、调优等操作。 6. 安全加固:掌握 Linux 系统安全加固、防火墙、安全审计、漏洞扫描等操作。 7. 自动化运维:掌握 Ansible、Saltstack 等自动化运维工具,能够编写自动化脚本,实现快速部署、配置和管理。 8. 容器技术:掌握 Docker、Kubernetes 等容器技术,能够进行容器化应用部署和管理。 9. 云计算:掌握云计算基础知识,熟悉 AWS、Azure、阿里云等云平台的操作和管理。 如果你想成为一名 Linux 运维工程师,可以按照以下路线图进行学习: 1. 学习 Linux 操作系统基础知识,掌握常用命令、文件系统、进程管理等操作。 2. 学习网络基础知识,掌握 TCP/IP 协议、网络拓扑、网络配置等。 3. 学习 Shell 编程,掌握 Shell 脚本编程,能够编写自动化脚本、快速解决问题。 4. 学习数据库管理,掌握 MySQL、PostgreSQL 等数据库的安装、配置、备份与恢复、性能优化等操作。 5. 学习 Web 服务器管理,掌握 Apache、Nginx 等 Web 服务器的安装、配置、调优等操作。 6. 学习安全加固,掌握 Linux 系统安全加固、防火墙、安全审计、漏洞扫描等操作。 7. 学习自动化运维,掌握 Ansible、Saltstack 等自动化运维工具,能够编写自动化脚本,实现快速部署、配置和管理。 8. 学习容器技术,掌握 Docker、Kubernetes 等容器技术,能够进行容器化应用部署和管理。 9. 学习云计算,掌握云计算基础知识,熟悉 AWS、Azure、阿里云等云平台的操作和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值