backend restart && 502 Bad Gateway

Alexey Karagodov karagodov at gmail.com
Fri Nov 16 10:49:03 MSK 2007


error_page 502 /куда-нибудь;
на нгинх-е обработайте нормально эту ошибку

16.11.07, Gena Makhomed <makhomed at pbank.lutsk.ua> написал(а):
>
> Здравствуйте, All!
>
> перезапуск backend`а (service httpd restart) занимает меньше секунды
> времени,
> но если в этот период времени на сервер приходят запросы - клиенты
> получают
> от nginx`а ответ "502 Bad Gateway", и в error.log при этом пишется ошибка:
>
> [error] 14271#0: *49 connect() failed (111: Connection refused) while
> reading response header from upstream
>
> если клиент в браузере нажмет F5, он увидит запрашиваемую страницу,
> к этому времени backend уже успеет запуститься и обработает запрос.
>
> хочется найти наиболее изящный способ спрятать перезапуск backend`а
> от клиентов, чтобы вместо отказа в обслуживании они получили только
> небольшую задержку ответа, в идеале - вообще бы ничего не заметили.
>
> единственный вариант, который я пока что смог найти - это запустить
> еще один httpd на другом ip, например, 127.0.0.2, и для всех хостов
> вместо
>
>     location / {
>         proxy_pass http://127.0.0.1;
>     }
>
> прописать
>
>     location / {
>         proxy_pass  http://backend;
>     }
>
> где backend - это
>
> upstream  backend  {
>     server   http://127.0.0.1;
>     server   http://127.0.0.2 backup;
> }
>
> первый httpd пойдет перезапускаться, например, если будет поврежден opcode
> cache
> у eAccelerator`а. чтобы backup`ный остался, его надо запускать без
> eAccelerator.
> подозреваю, что других вариантов избежать 502, кроме двух независимых
> httpd нет.
>
> хотелось бы узнать какие еще народ использует варианты повышения живучести
> backend`ов, кроме установки новых физических серверов - это и так понятно.
>
> PS
> http://2bits.com/articles/php-op-code-caches-accelerators-a-must-for-a-large-site.html
>    ...
>    Drawbacks of PHP op-code caches: Segmentation Faults
>    ...
>
> http://2bits.com/articles/logwatcher-restart-apache-after-a-segmentation-fault.html
>    ...
>    logwatcher: restart Apache after a segmentation fault
>    ...
> --
> Best regards,
> Gena                          mailto:makhomed at pbank.lutsk.ua
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20071116/79c77d6f/attachment.html>


More information about the nginx-ru mailing list