Помогите разобраться с ошибкой: 504 Bad Gataway

12
Raistlin
На сайте с 01.02.2010
Offline
247
#11

Уж никак не 503. Тут то вы ошибаетесь. 502 или 504, если тайм-аут соединения - ловит 502. 504 не ловил, да и немного не люблю джинкс.

HostAce - Асы в своем деле (http://hostace.ru)
bugsmoran
На сайте с 18.02.2010
Offline
223
#12
Raistlin:
Уж никак не 503. Тут то вы ошибаетесь. 502 или 504, если тайм-аут соединения - ловит 502. 504 не ловил, да и немного не люблю джинкс.

502 - Bad Gateway

503 - Service Unavailable

504 - Gateway Timeout.

502 - не таймаут. Это мертвый апач.

504 - таймаут подклюения к сокету за неимением такового. Это тоже мертвый апач.

503 - постановка в очеред Апачем задач от Нгинкса. Это тормозящий Апач.

M
На сайте с 16.09.2009
Offline
278
#13
bugsmoran:
Я знаю, что 504 отдает нгинкс. Только Вы ошибаетесь, что если апач тормозит, то нгинкс отдаст 504. Он отдаст 503 в таком случае. Апач именно мертв. Тормозящий Апач поставит в очередь и скажет нгинксу Service Unavailabe, а не Gateway Timeout.

В очередь-то он запрос поставит (соединения будут висеть в баклог, если последнего не хватит - будет 503)... Только "сказать" каким-то образом nginx'у об этом у него нет возможности. Узнайте как работает конкретный прикладной протокол (HTTP) и TCP/IP - откроете для себя много нового и интересного.

По истечение таумаутов на ответ бекенда в самом nginx - он ответит клиенту в духе 502 или 504. Протестировать это несложно - уменьшите в бакенде MaxClients до пары штук и натравите на nginx ab. Мгновенно увидите в его логе 502. Это, конечно, если Вы не верите в RFC и документацию и предпочитаете тестировать на стенде каждый раз "что будет если". Странно, что Вы не знакомы со смыслом самого популярного ответа nginx в рунете (ну, помимо 200) :)

Кстати, Bad Gataway - это 502 а не 504. Топикстартер ошибся с кодом для данного статуса, но не нужно ему уподобляться.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
bugsmoran
На сайте с 18.02.2010
Offline
223
#14
myhand:
В очередь-то он запрос поставит (соединения будут висеть в баклог, если последнего не хватит - будет 503)... Только "сказать" каким-то образом nginx'у об этом у него нет возможности. Узнайте как работает конкретный прикладной протокол (HTTP) и TCP/IP - откроете для себя много нового и интересного.

Зря Вы думаете, что я не знаю. Положите Апач и нгинкс Вам ту же ошибку отдаст. Так что сами идите учиться.

myhand:

Кстати, Bad Gataway - это 502 а не 504. Топикстартер ошибся с кодом для данного статуса, но не нужно ему уподобляться.

А я что написал? Так и написал вообще-то.

M
На сайте с 16.09.2009
Offline
278
#15
bugsmoran:
Зря Вы думаете, что я не знаю. Положите Апач и нгинкс Вам ту же ошибку отдаст. Так что сами идите учиться.

Если, как объяснено выше, натравить ab на URL, который отрабатывает быстро - получите 502 (баклог закончится в конце-концов). А вот если на медленно работающий URL - получите как раз 504 (сработают таймауты nginx). Попробуйте :)

bugsmoran
На сайте с 18.02.2010
Offline
223
#16
myhand:
Если, как объяснено выше, натравить ab на URL, который отрабатывает быстро - получите 502 (баклог закончится в конце-концов). А вот если на медленно работающий URL - получите как раз 504 (сработают таймауты nginx). Попробуйте :)

Что такое URL который работает быстро? Я знаю демонов, которые работают быстро, а URL - это протокол, он не работает, он диктует правила. Так вот если Вы натравите ab на демонов которые работают быстро, то получите контент страницы, а не ошибку. А закончившийся бэклог это не нарушение транспорта между нгинксом и апачем, а значит транспортной ошибки (читайте текст: Bad Gateway) быть не может.

M
На сайте с 16.09.2009
Offline
278
#17

веб-адрес (URL) "тормозящего" скрипта.

RAS
На сайте с 27.11.2005
Offline
126
RAS
#18

Обратитесь к профессионалам, а то я смотрю "специалистов" в топике много, кроме нескольких человек.

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
[Удален]
#19

Кому не трудно, покажите свои конфиги httpd.conf и nginx.conf на загруженном сервере.

SBot
На сайте с 29.07.2008
Offline
150
#20
chekip:
Кому не трудно, покажите свои конфиги httpd.conf и nginx.conf на загруженном сервере.

Сомневаюсь я что Вам покажут отлаженные потом и кровью конфиги. Иначе и пропадает услуга админинга. Тут или плати и тебе настраивают, или сам, в итоге прийдете к первому. Перед тем как лезть в конфиги, стоит изучить документацию по nginx и Apache, и понять что какая директива значит, перед тем как ее менять.

советую почитать помимо доков, еще:

-http://greenmice.info/ru/node/115

-http://greenmice.info/ru/node/116

-http://dklab.ru/chicken/nablas/

-http://adw0rd.ru/2009/nginx-and-apache-install/

-хабр_каменты

...

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий