【问题标题】:PHP in Go. FastCGI?围棋中的 PHP。快速CGI?
【发布时间】:2013-04-13 13:18:11
【问题描述】:

我正在用 Go 编写网络服务器,它将取代现有的网站。我仍然需要一些旧的 PHP 脚本。现在我有 lighttpd + fastcgi。所以我希望我的网络服务器将 PHP 称为 FastCGI。

最好的处理方法是什么? 我想我需要一些 Go FastCGI API

http://golang.org/pkg/net/http/fcgi/ - 好像只支持服务器端不支持客户端。

【问题讨论】:

  • 我发现问题和当前答案都很有趣且内容丰富,我认为答案得到了“特定专业知识”的支持。我看不到“辩论、争论、投票或扩展讨论”的潜力。

标签: php go fastcgi


【解决方案1】:

如果您想直接连接到 fastcgi 进程,我认为您必须自己制作。请记住,无论如何您仍然必须运行进程管理器/生成器,因此仅运行 nginx 并为 PHP 脚本设置 Go 进程代理也不会是一个巨大的飞跃。

您也可以合理地扭转它,让最终用户在端口 80 上连接到 nginx,并根据需要向您的 Go 进程或 fastcgi 发出 nginx 代理请求。这样做的一个好处是,Go 进程可以轻松地以不同于 root 的用户身份运行。

【讨论】:

  • 我没有以 root 身份运行 go。我改用 iptables。我使用长轮询并期望系统支持 1000 或 10000 或更多并发连接。如果我把 nginx 放在前面,那么我将有 2 倍的连接。估计会很贵如果 Go 进程将连接 nginx(在我的情况下为 lighttpd),那么我将不得不修改 PHP 脚本。否则他们会将外部 IP 检测为 127.0.0.1。
  • 让 Go 进程与 nginx 对话以运行 PHP。 Go 进程可以添加一个 X-Forwarded-For 标头,nginx 可以使用它来设置 IP 地址。您还可以实现一个 fcgi “客户端”;这不是太难,但它会完成更多的工作并且没有错误。
猜你喜欢
  • 2011-08-08
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 2014-02-18
  • 2018-10-11
  • 2011-09-09
  • 2015-01-16
  • 1970-01-01
相关资源
最近更新 更多