I have a simple go program that uses http.ListenAndServe to serve content. I use nginx to serve multiple applications on one server, and I want to use it for the go program too. I've tried looking for information on it, but all I found people using FastCGI or node.js to get it to work. Is it possible to do it with just pure Go and nginx? I understand how to use nginx with a subdomain, but not a Go program.
1条回答 默认 最新
dongyi2425 2015-04-19 18:03关注You can connect Nginx to your Go program directly via proxy_pass. Given:
package main import ( "fmt" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:]) } func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil) }You just need to add to your nginx configuration the proxy_pass:
location @go { proxy_pass 127.0.0.1:8080; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报