package main
import (
"log"
"net/http"
"os"
)
func main() {
os.Mkdir("file", 0777)
http.Handle("/file/", http.StripPrefix("/file/",
http.FileServer(http.Dir("file"))))
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
以上这段代码立刻可以建立一个http 文件服务器,为了方便,可以使用当前目录作为根目录,这样启动的时候所有文件被服务了。
func main() {
//os.Mkdir("file", 0777)
http.Handle("/", http.StripPrefix("/",http.FileServer(http.Dir("./"))))
log.Println("http fileserver at:8088")
err := http.ListenAndServe(":8088", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
go build xxxx.go, 这样得到一个可执行文件,拷贝到目录下面,可以马上启动一个http服务器,不依赖任何运行库,方便了调试。 在windows下交叉编译出linux程序 set GOARCH=amd64 set GOOS=linux go build main.go 会生成一个没有后缀的二进制文件 main linux系统某个文件夹下 chmod 775 ./main