Configuring nginx to retry a single upstream server

fox red-fox0 на ya.ru
Сб Май 22 12:31:24 UTC 2021


Можете поставить haproxy - он как раз будет держать клиента секунд 10, 
пока бекэнды перезагружаются. Браузеру придётся ждать эти 10 секунд, но 
зато он не получит 5хх ошибку.


22.05.2021 19:26, 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" - это не всегра срабатывает,
>>> иногда после релоада php-fpm оказывается в нерабочем состоянии,
>>> поэтому использую именно "systemctl restart php-fpm" для изменения
>>> конфигурации php-fpm, тогда и случаются 502 ошибки с сайтами.
>>
>> В таком случае, может быть, сконфигурить 2 бэкенда, отличающиеся лишь
>> сокетами (и какими-нибудь pid-файлами), описать их в одном upstream{}
>> и не перезапускать php-fpm, а поднимать 2й и гасить 1й?
> 
> Да, так работает. Но поднимать на сервере два бэкенда -
> это - в два раза больше работы. Поэтому очень хочется
> этой лишней работы избежать и обойтись одним бэкендом.
> Но скорее всего, средствами nginx этого сделать нельзя.
> 



Подробная информация о списке рассылки nginx-ru