Apacheをすばやく再起動して構成の変更を適用する方法を見つけようとしています。目標は次のとおりです。
Apacheには、最初の目標を満たす正常な再起動コマンドがあります。再起動コマンドは即時であり、既存の要求は影響を受けません。ただし、再起動はアトミックではありません。キープアライブ状態のサーバーへの既存の接続がある場合、それらが送信する以下のすべての要求は、古い構成の古いプロセスによって処理されます。
私の場合、Apacheサーバーはロードバランサーの背後にあり、1つの接続で数百のリクエストを送信する可能性があります。そのため、再起動後、新しい構成がすべての新しいリクエストに適用されるまでに長い時間がかかります。
これを修正する方法はありますか?現在のリクエストの処理が終了した後、Apacheに古いプロセスへの既存のKeep-Alive接続を閉じさせますか?
KeepAlive
Off
をオンにして、正常に再起動し、しばらくオフにして、構成を変更してから、もう一度正常に再起動します。これは、変更前にDNSエントリのTTLを減らす方法に似ています。
MaxKeepAliveReqestsと KeepAliveTimeout を十分に低く設定して、クライアントがキープアライブを使用できるようにしますが、それらの接続を長く維持しないようにするにはどうでしょうか。