【问题标题】:Can Apache BalancerMember be configured to use unix domain sockets?可以将 Apache BalancerMember 配置为使用 unix 域套接字吗?
【发布时间】:2011-05-26 10:47:13
【问题描述】:

我正在使用 Apache 代理平衡器指令来连接一组瘦服务器(用于 Rails)。

像这样:

  <Proxy balancer://thinservers>
    BalancerMember http://127.0.0.1:5000 route=thin0
    BalancerMember http://127.0.0.1:5001 route=thin1
    BalancerMember http://127.0.0.1:5002 route=thin2
  </Proxy>

不过,thin 也可以配置为使用 unix 域套接字。

所以我希望能够做类似的事情:

  <Proxy balancer://thinservers>
    BalancerMember unix://tmp/thin.0.sock route=thin0
    BalancerMember unix://tmp/thin.1.sock route=thin1
    BalancerMember unix://tmp/thin.2.sock route=thin2
  </Proxy>

但 Apache 不接受它。 显然nginx可以做到,但我真的很想用Apache。

有办法吗?

【问题讨论】:

  • 好吧,这里似乎没有人知道这个问题的答案。很可能答案是否定的。谁能推荐一个合适的 Apache 板,让我在结束之前问这个问题?
  • 也许你应该尝试询问服务器故障。
  • 你得到这个问题的答案了吗?

标签: ruby-on-rails apache mod-proxy thin


【解决方案1】:

简短的回答,不。

来自http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html

它提供负载平衡支持 HTTP、FTP 和 AJP13 协议

所以这些是唯一支持的协议。

【讨论】:

  • 协议与所使用的套接字类型无关。 Nginx 通过 Unix 套接字代理 HTTP。
  • 正确。在某处我发现socket=%2Ftmp%2Fthin.0.sock 语法可能工作的建议,但是我无法让它工作,也无法在源代码中找到与它相关的任何内容。您最好的选择是重新配置 Thin 以侦听 localhost 上的 TCP 并以这种方式使用它。
猜你喜欢
  • 2014-07-07
  • 1970-01-01
  • 1970-01-01
  • 2010-09-24
  • 1970-01-01
  • 2012-12-27
  • 2010-12-06
  • 2017-04-08
  • 2014-07-24
相关资源
最近更新 更多