我有一个简单的应用程序,我希望它是一个等待连接的守护进程,但它看起来像不听,我什至在进程列表中找不到它。
代码:
package main
import (
"fmt"
"log"
"net/http"
)
func main() {
fmt.Println("Start Server")
log.Print("Start Server")
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Hello, World! from linux")
})
log.Print("Going to listen")
if err := http.ListenAndServe(":80", nil); err != err {
log.Print("getting error")
log.Fatal(err)
}
fmt.Println("End Server")
log.Print("End Server")
}
编译并运行:
xxx@xxx:~/go_test$ CGO_ENABLED=0 go build -gcflags "all=-N -l" -o ./main
umen@umen:~/go_test$ ./main
Start Server
2023/11/15 07:40:22 Start Server
2023/11/15 07:40:22 Going to listen
End Server
2023/11/15 07:40:22 End Server
尝试连接:
xxx@xxx:~$ curl http://localhost
curl: (7) Failed to connect to localhost port 80 after 0 ms: Connection refused
我在这里缺少什么?
删除了 Fatal,仍然启动和停止而不监听 get 请求。