如何使用go';的net/http包


How to serve php files using go's net/http package?

我想写一个简单的net/http.HandlerFunc,它提供php文件。我应该使用net/http/cgi还是net/http/fcgi,或者有更好的方法来运行php进程吗?

来源http://golang.org/pkg/net/http/fcgi/:

当前仅支持响应者角色。

Go FCGI程序包不支持调用其他进程。它只知道当另一个服务器(如nginx)连接时如何提供请求。因此,您唯一的选择是CGI。


CGI是非常低效的,你可能永远不应该使用它。相反,我建议把你的Go程序和你的PHP FCGI程序都放在一个反向代理后面,比如Nginx。

Nginx有许多很棒的功能,包括默认Go http服务器不支持的保持活动超时。使用反向代理为Go程序添加功能,并允许您集成其他语言。

您可以使用此项目

github.com/vanackere/gofgisrv