Re: Configuring nginx to retry a single upstream server

2021-05-25 Пенетрантность Maxim Dounin
Hello! On Tue, May 25, 2021 at 12:15:54PM +0300, Gena Makhomed wrote: > On 24.05.2021 6:05, Maxim Dounin wrote: > > >>> Можете поставить haproxy - он как раз будет держать клиента секунд 10, > >>> пока бекэнды перезагружаются. Браузеру придётся ждать эти 10 секунд, > >>> но зато он не получит

Re: Configuring nginx to retry a single upstream server

2021-05-25 Пенетрантность Evgeniy Berdnikov
On Tue, May 25, 2021 at 12:15:54PM +0300, Gena Makhomed wrote: > >Но вообще если перезапуск php-бэкенда под боевой нагрузкой > >считается нормальным рабочим действием, то браузер так или иначе > >имеет шанс получить неполный ответ же. Пытаться в подобной > >ситуации ещё и ошибки обрабатывать - как

Re: Configuring nginx to retry a single upstream server

2021-05-25 Пенетрантность Gena Makhomed
On 24.05.2021 6:05, Maxim Dounin wrote: Можете поставить haproxy - он как раз будет держать клиента секунд 10, пока бекэнды перезагружаются. Браузеру придётся ждать эти 10 секунд, но зато он не получит 5хх ошибку. Могу поставить haproxy, но haproxy - это не веб-сервер, он не умеет отдавать

Re: Configuring nginx to retry a single upstream server

2021-05-23 Пенетрантность Maxim Dounin
Hello! On Sat, May 22, 2021 at 03:49:01PM +0300, Gena Makhomed wrote: > On 22.05.2021 15:31, fox wrote: > > > Можете поставить haproxy - он как раз будет держать клиента секунд 10, > > пока бекэнды перезагружаются. Браузеру придётся ждать эти 10 секунд, > > но зато он не получит 5хх ошибку. >

Re: Configuring nginx to retry a single upstream server

2021-05-22 Пенетрантность Gena Makhomed
On 22.05.2021 18:22, Oleg A. Mamontov wrote: Функциональность, позволяющая реализовать подобную логику, имеется в коммерческой версии: http://nginx.org/ru/docs/http/ngx_http_upstream_module.html#queue Хостинг сайтов на PHP - это не тот бизнес, который даст возможность купить коммерческую

Re: Configuring nginx to retry a single upstream server

2021-05-22 Пенетрантность Oleg A. Mamontov
On Sat, May 22, 2021 at 03:49:01PM +0300, Gena Makhomed wrote: On 22.05.2021 15:31, fox wrote: Можете поставить haproxy - он как раз будет держать клиента секунд 10, пока бекэнды перезагружаются. Браузеру придётся ждать эти 10 секунд, но зато он не получит 5хх ошибку. Могу поставить

Re: Configuring nginx to retry a single upstream server

2021-05-22 Пенетрантность Gena Makhomed
On 22.05.2021 15:31, fox wrote: Можете поставить haproxy - он как раз будет держать клиента секунд 10, пока бекэнды перезагружаются. Браузеру придётся ждать эти 10 секунд, но зато он не получит 5хх ошибку. Могу поставить haproxy, но haproxy - это не веб-сервер, он не умеет отдавать статику.

Re: Configuring nginx to retry a single upstream server

2021-05-22 Пенетрантность fox
Можете поставить haproxy - он как раз будет держать клиента секунд 10, пока бекэнды перезагружаются. Браузеру придётся ждать эти 10 секунд, но зато он не получит 5хх ошибку. 22.05.2021 19:26, Gena Makhomed пишет: On 21.05.2021 11:20, Evgeniy Berdnikov wrote: nginx и php-fpm у меня

Re: Configuring nginx to retry a single upstream server

2021-05-22 Пенетрантность Gena Makhomed
On 21.05.2021 11:20, Evgeniy Berdnikov wrote: nginx и php-fpm у меня находятся на одном и том же хосте, связь между ними идет через unix domain socket по протоколу fastcgi. ... Речь идет о перезапуске php-fpm командой "systemctl restart php-fpm" Если делать "systemctl reload php-fpm" - это не

Re: Configuring nginx to retry a single upstream server

2021-05-21 Пенетрантность Илья Шипицин
есть несколько лайфхаков, которые упрощают жизнь, когда у вас единственный бекенд (но ответа на ваш вопрос у меня нет) 1) можно, и пожалуй, нужно указывать max_fails=0 (чтобы не держать бекенд в грейлисте, а максимально пытаться отправлять на него запросы) 2) можно продублировать бекенд

Re: Configuring nginx to retry a single upstream server

2021-05-21 Пенетрантность Evgeniy Berdnikov
On Fri, May 21, 2021 at 11:03:47AM +0300, Gena Makhomed wrote: > nginx и php-fpm у меня находятся на одном и том же хосте, > связь между ними идет через unix domain socket по протоколу fastcgi. ... > Речь идет о перезапуске php-fpm командой "systemctl restart php-fpm" > Если делать "systemctl

Re: Configuring nginx to retry a single upstream server

2021-05-21 Пенетрантность Gena Makhomed
о, proxy_connect_timeout подкрутить. И заскриптовать всё. Там unix domain socket, какой пакетный фильтр может быть? Кроме того, чем поможет отрубать этот бекенд, ведь он единственный? (см. тему: Re: Configuring nginx to retry a single upstream server) Будет точно так же 502 ошибка. А ведь именно этого

Re: Configuring nginx to retry a single upstream server

2021-05-21 Пенетрантность Evgeniy Berdnikov
On Fri, May 21, 2021 at 12:05:45AM +0300, Gena Makhomed wrote: > Есть nginx, который проксирует запросы на единственный бекенд php-fpm. > Во время перезапуска php-fpm клиентам сразу сыпятся 5хх ошибки. > > Каким образом можно настроить nginx так, чтобы он в случае ошибки > связи с бекендом

Configuring nginx to retry a single upstream server

2021-05-20 Пенетрантность Gena Makhomed
Здравствуйте, All! Есть nginx, который проксирует запросы на единственный бекенд php-fpm. Во время перезапуска php-fpm клиентам сразу сыпятся 5хх ошибки. Каким образом можно настроить nginx так, чтобы он в случае ошибки связи с бекендом пытался достучаться до него в течении N секунд (например,