URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 6174
[ Назад ]

Исходное сообщение
"Nginx выдает 502 ошибку (валится Apache)"

Отправлено Nas_tradamus , 21-Янв-09 13:30 
Здравствуйте!
У меня такая проблема:
Сайт на Битриксе в режиме разработки очень часто стал выдавать 502 ошибку. Например, когда обновляешь кэш компонента (скрипт /index.php?clear_cache=Y).

При этом, в логах Nginx:

2009/01/21 13:05:20 [error] 14041#0: *677 upstream prematurely closed connection while reading response header from upstream, client: x.x.x.x, server: www.xxx.ru, request: "GET /index.php?clear_cache=Y HTTP/1.1", upstream: "http://127.0.0.1:81/index.php?clear_cache=Y", host: "www.xxx.ru"

А в это время, в логах Apache:

[Wed Jan 21 13:05:20 2009] [notice] child pid 14879 exit signal Segmentation fault (11)

Выдержка из конфига Nginx:

worker_processes  2;
events {
    worker_connections   2000;
    use kqueue;
}
    client_header_timeout  3m;
    client_body_timeout    3m;
    send_timeout           3m;
    connection_pool_size 256;
    client_header_buffer_size 32k;
    large_client_header_buffers 8 32k;
    request_pool_size 32k;
    client_max_body_size 200m;
    proxy_max_temp_file_size  0;
    gzip on;
    gzip_min_length  1100;
    gzip_buffers     4 8k;
    gzip_types       text/plain;
    output_buffers   1 32k;
    postpone_output  1460;
    sendfile         on;
    tcp_nopush       on;
    tcp_nodelay      on;
    send_lowat       12000;
    keepalive_timeout  75 20;

Из-за чего может возникать падение Apache?


Содержание

Сообщения в этом обсуждении
"Nginx выдает 502 ошибку (валится Apache)"
Отправлено Vaso Petrovich , 21-Янв-09 15:28 
по любому не из-за nginx, раз сайт в разработке убери его пока, а он я вижу он тебя уводит в другую сторону...

походу смотреть тебе надо что происходит при index.php?clear_cache=Y, а лучше выкини эту корявую поделку...


"Nginx выдает 502 ошибку (валится Apache)"
Отправлено Nas_tradamus , 21-Янв-09 17:05 
>по любому не из-за nginx, раз сайт в разработке убери его пока,
>а он я вижу он тебя уводит в другую сторону...
>
>походу смотреть тебе надо что происходит при index.php?clear_cache=Y, а лучше выкини эту
>корявую поделку...

Проблема не только с этим скриптом, а со всеми функциями, используемыми в режиме разработки (редактирование шаблонов компонента, стилей, обновление кэша и т.д.).

Хорошо хоть публичные скрипты не валятся.

На сайте Сысоева находил подобную проблему - но ни кто так и не помог человеку.
У Апаче сдыхает чайлд без объяснения причин непонятно почему.
Кстати, используется mod_php.

На другом сервере (для девелоперов) без Nginx все работает отлично.
Буду завтра тестить без nginx на боевом серваке.

"Корявую поделку" выкинуть, увы, не получится - на нее уже потрачены миллионы.



"Nginx выдает 502 ошибку (валится Apache)"
Отправлено Vaso Petrovich , 21-Янв-09 17:38 
Чувак!!!!!
Ты прочитал что Я тебе написал? ПРОЧИТАЙ внимательно!!! Без этого говорить с тобой без полезно! Убери nginx и будет тоже самое, зачем искать проблему там где ее нету? объясни зачем? В чем тайный смысл?

"Nginx выдает 502 ошибку (валится Apache)"
Отправлено Nas_tradamus , 22-Янв-09 16:31 
>Чувак!!!!!
>Ты прочитал что Я тебе написал? ПРОЧИТАЙ внимательно!!! Без этого говорить с
>тобой без полезно! Убери nginx и будет тоже самое, зачем искать
>проблему там где ее нету? объясни зачем? В чем тайный смысл?
>

Однако, без Nginx сейчас все работает хорошо!
Такая проблема часто возникает именно в связке Nginx + Apache, судя по гуглу.


"Nginx выдает 502 ошибку (валится Apache)"
Отправлено Nas_tradamus , 23-Янв-09 11:01 
Неужели ни кто не сталкивался? :(

Повторяю. Проблема есть ТОЛЬКО при использовании Nginx.
Видимо, Nginx передает Апачу какой-то неправильный запрос при определенных условиях и тот валится... Некоторым помогает увеличение буферов Nginx, а так же ListenBacklog 4096 в Apache, но мне не помогло.


"Nginx выдает 502 ошибку (валится Apache)"
Отправлено mikra , 23-Янв-09 12:07 
Что именно апач не может передать нжинксу это ты сам разбирайся... А буферов там много, вот так еще можно увеличить:
    large_client_header_buffers  16 16k;
    client_body_buffer_size    256k;
    output_buffers   16 32k;
    proxy_buffer_size          32k;
    proxy_buffers              16 16k;
    proxy_busy_buffers_size    64k;
    proxy_temp_file_write_size 64k;