如何用 Golang 搭建一个简单的 Web 服务器?
Golang 是一种过程编程语言,非常适合构建简单、可靠和高效的软件。
使用 NodeJS 创建 Web 服务器:
初始化一个项目
创建一个包含 .go 文件的项目文件夹,例如。服务器。去。
目录结构:
server.go文件:
Go
package main
import (
"fmt"
"log"
"net/http"
)
func main() {
// API routes
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello world from GfG")
})
http.HandleFunc("/hi", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi")
})
port := ":5000"
fmt.Println("Server is running on port" + port)
// Start server on port specified above
log.Fatal(http.ListenAndServe(port, nil))
}
HTML
Home
Home page
HTML
About
about page!
Go
package main
import (
"fmt"
"log"
"net/http"
)
func main() {
// API routes
// Serve files from static folder
http.Handle("/", http.FileServer(http.Dir("./static")))
// Serve api /hi
http.HandleFunc("/hi", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi")
})
port := ":5000"
fmt.Println("Server is running on port" + port)
// Start server on port specified above
log.Fatal(http.ListenAndServe(port, nil))
}
使用以下命令运行服务器(确保您在项目目录中):
go run server.go
注意:每当 server.go 文件更改时,您必须使用 Ctrl + C 停止服务器并通过相同的命令重新启动。
安慰:
打开所需的 Web 浏览器和以下任何 URL 以验证服务器是否正在运行:
http://localhost:5000/ or http://localhost:5000/hi
输出:
提供静态文件:
创建一个包含所有静态文件的静态文件夹。
示例目录结构:
示例静态文件:
- GfG 标志
- index.html文件
HTML
Home
Home page
- about.html文件
HTML
About
about page!
现在编辑server.go 文件:
走
package main
import (
"fmt"
"log"
"net/http"
)
func main() {
// API routes
// Serve files from static folder
http.Handle("/", http.FileServer(http.Dir("./static")))
// Serve api /hi
http.HandleFunc("/hi", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi")
})
port := ":5000"
fmt.Println("Server is running on port" + port)
// Start server on port specified above
log.Fatal(http.ListenAndServe(port, nil))
}
验证是否提供静态文件: