优雅的Apache重启和Keep-Alive连接

我试图find一种方法来快速重新启动Apache来应用configuration更改。 目标是:

  1. 重新启动而不分发当前处理的请求
  2. 尽可能以primefaces方式进行,即新configuration必须应用于从重新启动时间开始接收的所有新请求,旧版本不应处理新请求。

Apache具有满足第一个目标的平稳重新启动命令,重新启动命令是直接的,现有请求不受影响。 但是,重新启动不是primefaces的。 如果存在与Keep-Alive状态的服务器的连接,那么它们发送的所有以下请求都将由具有旧configuration的旧进程处理。

就我而言,Apache服务器位于负载均衡器的后面,负载均衡器可能通过单个连接发送数百个请求。 因此,在重新启动之后,需要很长时间才能将新configuration应用于所有新请求。

有没有什么办法可以解决这个问题,例如,在完成当前请求的服务之后,让Apacheclosures与旧进程的任何现有的Keep-Alive连接?

Off KeepAlive ,进行平稳重启,并closures一段时间,更改configuration,然后再重新启动。 这类似于在更改之前减lessDNS条目的TTL的做法。

将MaxKeepAliveRequest和KeepAliveTimeout设置得足够低,以便客户仍然可以使用Keepalive,但是不要让这些连接保持长时间?