1

我在使用以下命令重新加载 HAProxy 时遇到了这个问题:

haproxy -D -f gateway.cfg -p /var/run/haproxy.pid -D -sf $(cat /var/run/haproxy.pid)

错误结果

[ALERT] 169/001728 (3844) : Starting frontend proxy: cannot bind socket

我尝试在配置中添加用户 root 或管理员,但无济于事。根据 ls -la 的文件权限是Administrator none. 这让我觉得 HAProxy 不完全支持 windows,我想知道 -sf/-st 前缀是如何工作的?(我在 unix 系统中尝试过,结果证明工作正常。HAProxy 配置如下所示

global  
daemon
maxconn 1024
pidfile /var/run/haproxy.pid

defaults
log global
mode    http
option  httplog
option  dontlognull
retries 3
option redispatch
contimeout  5000
clitimeout  50000
srvtimeout  50000

frontend proxy
bind *:80
default_backend servers

backend servers
balance roundrobin
option httpchk GET /
option forwardfor
option httpclose
stats enable
stats refresh 10s
stats hide-version
stats uri /admin?stats
stats auth admin:admin
stats realm Haproxy\ Statistics

server svr0 127.0.0.1 check inter 5000
4

2 回答 2

1

HAProxy 通常不支持 Windows,即使在 Cygwin 下也是如此。HAProxy 包含针对 Linux 和各种 UNIX 系统的非常具体的优化,这使得它很难在 Windows 上运行。

即使你以某种方式让它运行,它也会导致糟糕的性能,并且永远不会获得稳定甚至中等速度的系统。即使在 Linux 上运行低于 1 瓦的 ARM 机器也能获得出色的性能,在 Windows 上运行 HAProxy 并尝试处理各种仿真层是没有任何意义的。

于 2013-06-20T16:26:21.223 回答
-1

您可以在 windows 下运行大多数 haproxy 版本。这是使用 cygwin 编译的 1.4.24:

http://www.mediafire.com/download/7l4yg7fa5w185bo/haproxy.zip

您可以将它用于测试目的,但您应该避免使用它进行生产,只能在 windows 下开发,并且可以轻松转移到 linux,例如...

于 2013-11-22T07:44:12.400 回答