Если вам нужно добавить новые серверы, вы должны перезапустить его, хотя это почти невозможно обнаружить, когда вы запускаете новый процесс с "-sf $ oldpid", так как новый и старый процесс работают в
параллельны друг другу.
Если вам нужно временно отключить сервер, у вас есть несколько вариантов:
1) (предпочтительный вариант): включите «option http-disable-on-404» и управляйте ответом проверки вашего сервера для возврата 404. Это отключит новые подключения, но все же позволит существующим пользователям завершить сеанс. Затем вы соглашаетесь вернуть 500 и можете остановить процесс. Преимущество этого метода в том, что вам никогда не нужно прикасаться к LB, все контролируется с сервера, на котором вы работаете. Вот как это делают большинство разумных инфраструктур.
2) самый простой: с помощью socat подключитесь к сокету статистики и отключите сервер, на котором вы собираетесь работать:
printf "disable server 1\n" | socat stdio unix-connect:/var/state/haproxy.stat
затем включите его, как только закончите:
printf "enable server 1\n" | socat stdio unix-connect:/var/state/haproxy.stat
Пока вы не изменяете конфигурацию, нет причин для перезапуска, даже если она
остается незамеченным.