У nginx есть замечательный параметр в описании upstrem и называется этот параметр max_fails.
max_fails должно быть числовым значением
задаёт число неудачных попыток работы с сервером в течение времени, заданного параметром fail_timeout, после которого он считается неработающим, также в течение времени заданного параметром fail_timeout. По умолчанию число попыток устанавливается равным 1. Нулевое значение запрещает учёт попыток. Что считается неудачной попыткой, задаётся директивами proxy_next_upstream, fastcgi_next_upstream и memcached_next_upstream. Состояние http_404 не считается неудачной попыткой.
Данную переменную ввели давно, и я вообщем-то и не сомневался, что запустится на nginx 1.0.8. Поднял тестовый VPS с nginx 1.0.8 сделал изменения в конфиг файл. Делаю рестарт и получаю:
Invalid parameter «max_fails=2» in /etc/nginx/servers/myserver.conf:3
По всем конфигам и документации все должно работать ОК, но не работает. Поставил последую версию nginx 1.2.х и там этот же конфиг заработал отлично. Решил взять конфиг с продакшина, сделал изменения и пытаюсь запустить конфиг на nginx 1.2.x и тут начинают вылазить подводные камни ввиде дублицирования upstream хотя версия 1.0.8 работало отлично без каких либо проблем. Мистика. =)