Haproxy 优雅重载

vai*_*hav 5 load-balancing haproxy

我正在寻找一种优雅地重新加载 haproxy 的解决方案。我有一个正在运行的 nginx 服务器,它将请求传递给 Haproxy,有时我会重新加载 Haproxy 配置。但我观察到在重新加载时所有现有连接都被切断,haproxy 后端队列显示 0 个请求(从 haproxy 的套接字统计数据中获取)。

我正在使用有关该问题的几篇博客文章和 haproxy 文档中提到的方法:

重新加载:

haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -D -sf (</var/run/haproxy.pid)
Run Code Online (Sandbox Code Playgroud)

开始 :

haproxy -D  -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid 
Run Code Online (Sandbox Code Playgroud)

如果有人可以提出任何解决方案,我们将不胜感激。下面是我的 haproxy 配置文件

global
  maxconn 64000
  ulimit-n 200000
  log             127.0.0.1       local0
  log             127.0.0.1       local1 notice
  spread-checks 5
  stats socket /etc/haproxy/stats

defaults
  log global
  mode http
  balance roundrobin
  maxconn 64000
  option abortonclose
  option httpclose
  retries 3
  option redispatch
  timeout client 30000
  timeout connect 30000
  timeout server 30000
  stats enable
  stats uri     /haproxy?stats
  stats realm   Haproxy Statistics
  stats auth    haproxy:stats
  timeout check 5000
Run Code Online (Sandbox Code Playgroud)

Kha*_*led 4

您发布的命令对我来说似乎并不是 100% 正确。在我的系统上,它写着:

haproxy -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid -D -sf $(cat /var/run/haproxy.pid)
Run Code Online (Sandbox Code Playgroud)

您输错了最后一个选项的值-sf