我尝试在Rasberry pi上运行Go webserver(使用1.10.1) 我有一个像(StatPiPrivider.go)实现的go webserver:
package main
import (
"net/http"
)
func main() {
http.Handle("/", http.FileServer(http.Dir("./static/templates")))
http.ListenAndServe(":3000", nil)
}
,静态文件夹与StatPiProvider.go文件位于同一文件夹中。
在文件夹中,static / templates是4个html文件,包括一个index.html
每次我更换服务器时,都会收到404页面未找到的响应。即使我尝试获取其他html文件,我也会得到相同的响应。
这是我的实施问题还是我的覆盆子错了。
我运行代码:go run StatPiProvider / StatPiProvider.go
答案 0 :(得分:3)
请注意go run
不会更改工作目录。因此,您在应用中使用的任何相对路径都将被解析为工作目录,即运行go run
的文件夹。
由于static
文件夹位于StatPiProvider.go
文件旁边,并且您使用路径./static/templates
,因此当您运行go run
时,其包含的文件夹必须是工作目录。
首先更改目录,以便StatPiProvider.go
位于工作目录中,然后像这样启动.go
文件:
cd StatPiProvider
go run StatPiProvider.go