Re: reuseport в конфигах nginx
Evgeniy Berdnikov
bgx на protva.ru
Ср Апр 20 09:39:16 UTC 2016
On Wed, Apr 20, 2016 at 12:12:21PM +0300, navern wrote:
> > Да хоть на Юпитере. Он вообще-то в контейнере. Ядро может входящие
> > коннекции перенаправлять на любой порт, и ip-адрес можно менять.
> > Без разницы, как отличать новый сервер от старого, по ip или порту,
> > но в любом случае их нужно как-то различать.
> Ок, предложите вариант решения данной задачи вашим способом?
Пусть у нас хост на линуксе, старый nginx слушает порт 8080, новый 8081,
действует правило перенаправления 80->8080, после старта второго nginx
заменяем правило командочкой
iptables -t nat -R PREROUTING 1 -p tcp --dport 80 -j REDIRECT --to-port 8081
и ждём, когда все соединения со старым nginx'ом будут обработаны и
закрыты, после чего старый nginx гасим.
В других операционках пакетный фильтр управляется иначе, но схема та же.
--
Eugene Berdnikov
Подробная информация о списке рассылки nginx-ru