Haproxy

可以使用 haproxy 來平衡 unix 套接字嗎?

  • June 28, 2015

在 nginx 中,將其配置為代理 unix.sock文件相當簡單

例如:

upstream bla {
     server unix:///home/sam/Source/bla/tmp/sockets/thin1.sock;
     server unix:///home/sam/Source/bla/tmp/sockets/thin2.sock;
}

.sockhaProxy中是否有類似的語法來啟用平衡本地文件

簡短回答:是的,從 1.5 版開始

讓我們看一下伺服器關鍵字參數文件:

<address> is the IPv4 or IPv6 address of the server. Alternatively, a
         resolvable hostname is supported, but this name will be resolved
         during start-up. Address "0.0.0.0" or "*" has a special meaning.
         It indicates that the connection will be forwarded to the same IP
         address as the one from the client connection. This is useful in
         transparent proxy architectures where the client's connection is
         intercepted and haproxy must forward to the original destination
         address. This is more or less what the "transparent" keyword does
         except that with a server it's possible to limit concurrency and
         to report statistics. Optionally, an address family prefix may be
         used before the address to force the family regardless of the
         address format, which can be useful to specify a path to a unix
         socket with no slash ('/'). Currently supported prefixes are :
               - 'ipv4@'  -> address is always IPv4
               - 'ipv6@'  -> address is always IPv6
               - 'unix@'  -> address is a path to a local unix socket
               - 'abns@'  -> address is in abstract namespace (Linux only)
         Any part of the address string may reference any number of
         environment variables by preceding their name with a dollar
         sign ('$') and optionally enclosing them with braces ('{}'),
         similarly to what is done in Bourne shell.

因此,您可以使用前導斜杠指定 unix 套接字的路徑,或顯式添加地址系列前綴:

server nginx1 /run/nginx/default.sock
server nginx2 unix@default.sock

引用自:https://serverfault.com/questions/417597