Linux上用Go搭建Web服务

作者:技术拾光

时间:2026-07-06

浏览:275

在Linux上搭建GoWeb服务:通过包管理器安装Go,创建项目并初始化模块(gomodinit),编写main.go监听8080端口返回"Hello,World!",gorun启动后浏览器即可访问。可选用Gin(轻量高效)或Echo(快速灵活)框架增强路由与中间件功能,简化开发。

文章目录

在Linux系统上搭建Golang Web服务,过程比许多人想象中更直接。从零开始,无需复杂配置,只需几个步骤即可让服务顺利运行。以下将完整演示整个流程。

Linux上用Go搭建Web服务

安装Golang环境

首先安装Go语言环境。最便捷的方式是使用系统自带的包管理器。以Ubuntu等发行版为例,执行以下两条命令即可完成安装。

sudo apt update
sudo apt install golang-go

安装完成后,运行 go version 验证版本信息。如果输出版本号,则表示安装成功。

创建Golang项目目录

进入常用工作目录,新建一个文件夹,例如命名为 my-web-service,并切换至该目录。

mkdir my-web-service
cd my-web-service

初始化Go模块

使用Go模块管理依赖已成为标准实践。执行初始化命令,并为项目指定模块名称。

go mod init my-web-service

编写Web服务核心代码

新建 main.go 文件,写入以下基础代码。该服务将在8080端口监听,当用户访问根路径时,返回“Hello, World!”。

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, World!")
    })

    fmt.Println("Starting server at port 8080")
    if err := http.ListenAndServe(":8080", nil); err != nil {
        fmt.Println(err)
    }
}

启动Golang Web服务

在终端中执行 go run main.go,当看到“Starting server at port 8080”输出时,说明服务已成功启动。

go run main.go

验证服务是否正常运行

打开浏览器,在地址栏输入 http://localhost:8080,页面会立即显示“Hello, World!”。至此,第一个基于Go的Web服务已搭建完成。

使用第三方框架扩展功能(可选)

如果标准库功能无法满足需求,例如需要路由分组或中间件支持,可以引入第三方框架。Gin和Echo是社区中最流行的两个选择,可根据偏好选用。

使用Gin框架

首先安装Gin包:

go get -u github.com/gin-gonic/gin

然后将 main.go 替换为以下代码,结构更加清晰:

package main

import (
    "github.com/gin-gonic/gin"
)

func main() {
    r := gin.Default()
    r.GET("/", func(c *gin.Context) {
        c.String(http.StatusOK, "Hello, World!")
    })
    r.Run(":8080")
}

运行方式相同:执行 go run main.go。

使用Echo框架

Echo的安装步骤类似:

go get -u github.com/labstack/echo/v4

对应的 main.go 代码如下:

package main

import (
    "net/http"
    "github.com/labstack/echo/v4"
)

func main() {
    e := echo.New()
    e.GET("/", func(c echo.Context) error {
        return c.String(http.StatusOK, "Hello, World!")
    })
    e.Logger.Fatal(e.Start(":8080"))
}

同样,运行 go run main.go 即可启动服务。

以上步骤覆盖了在Linux上使用Golang构建Web服务的完整流程。从原生标准库到第三方框架,从零开始到服务运行,整个过程简洁流畅,几乎没有冗余操作。掌握这套流程后,后续添加路由、中间件或连接数据库都将水到渠成。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›