【问题标题】:Difference between net/http and net/http/fcgi in GolangGolang 中 net/http 和 net/http/fcgi 的区别
【发布时间】:2013-02-02 05:12:13
【问题描述】:

有什么区别? 如果我使用 net/http/fcgi 包,每个请求都将在新的 goroutine 中执行。 net/http ListenAndServe 似乎是一样的……不是吗? 有什么优点和缺点?

【问题讨论】:

  • Fcgi 还是 cgi?您真正要问的是哪一个。

标签: go fastcgi


【解决方案1】:

net/http/fcgi 允许您通过 FastCGI 协议侦听新连接,而 net/http ListenAndServe 用于侦听传入的 http 连接。使用 FastCGI 侦听器,您需要一个位于 Go 进程前面的 http 服务器,该服务器代理传入连接并通过 FastCGI 向您的 Go 进程发送请求。

如果您需要在同一个端口上公开多个服务,FastCGi 会很有用。您可以运行 Apache 或 Nginx 之类的东西作为前端,并通过 FastCGI 向您的 Go 进程公开某些 url。

如果这不是您的情况,并且您只想在端口上运行 Go Web 服务器,请坚持使用net/http

【讨论】:

  • 谢谢!如果我想使用 Go + nginx?在 Go 中使用 net/http/fcgi 更好吗?...还是将动态请求重定向到标准 Go 网络服务器?
  • 无论哪种方式都可以。 Nginx 会做反向 http 代理服务或 FastCGI。由于 Go 在解析 http 请求方面已经相当快了,我认为如果您需要多层部署选项,使用 Nginx 的反向 http 代理会更简单。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-28
  • 2012-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 2016-02-08
相关资源
最近更新 更多