3 回答
TA贡献1828条经验 获得超3个赞
没有mod_go。(至少我没有听说过这样的事情。)
Go Web应用程序本身就是功能强大的Web服务器。您可以在应用程序中监听端口80,然后直接在服务器上运行它。相信我:它确实有效!
但是,如果您不这样做(由于其他原因,例如在同一台计算机上安装其他虚拟服务器,负载平衡等原因),则可以将诸如nginx或Apache之类的HTTP服务器用作Go应用程序前面的HTTP代理。我使用nginx,这很棒。这是有关如何使用nginx进行操作的过时但仍然非常有用的指南。我还没有与Apache做这件事,但是这应该帮助。
我建议您单独使用Go Web应用程序或将Nginx用作HTTP代理。
TA贡献1798条经验 获得超3个赞
除了其他选项之外,还有net / http / fcgi软件包。这类似于CGI选项,但是它使用FastCGI,并且您的应用程序可以根据需要保持状态。
这是jimt示例的FastCGI版本。请注意,只有两行是不同的。根据您配置Apache的方式,您可能必须将第一个参数更改为其他参数,但是nil是常见的情况。
package main
import (
"fmt"
"net/http"
"net/http/fcgi"
)
func hello(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello from Go!")
}
func main() {
http.HandleFunc("/", hello)
fcgi.Serve(nil, nil)
}
- 3 回答
- 0 关注
- 389 浏览
添加回答
举报