http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
proxy_buffers 8 16k;
proxy_buffer_size 32k;
А вот подробное описание, что такое proxy_buffer_size и proxy_buffers.
А если по-русски, то proxy_buffer_size предназначен для хранения, прочтенного с бэкэнда хидера:
proxy_buffer_size and fastgci_buffer_size set buffer to read the whole of
response header from backend or fastcgi server.
То есть, если Вы уже выставили 32к, а ошибка все равно появляется, то нужно тюнить дальше.
Если же просто увеличить 32к до 64к, то можно получить вот такую ошибку:
Restarting nginx: [emerg]: "proxy_busy_buffers_size" must be less than the size of all "proxy_buffers" minus one buffer in /etc/nginx/nginx.conf:34017
Итого, если указанных в самом верху настроек мало, корректируем так:
proxy_buffers 8 32k;
proxy_buffer_size 64k;
(с) Игорь Сысоев
Спасибо! Очень помогло!
ReplyDeleteПожалуйста :)
ReplyDeleteЭто для случая "nginx как прокси". Если работает связка nginx+php-fpm (страшно рекомендую, нагрузка на серверы упала буквально вдвое, и даже при перегрузе при разумном ограничении числа чайлдов php-fpm всё не так плохо, как бывало с апачем...) - там, соответственно, fastcgi_buffers & fastcgi_buffer_size
ReplyDeleteспасибо!!!
DeleteСпасибо за fastcgi_buffers
Deleteсапсибо!
DeleteХех, Паша, спасибо - пригодилось ;-)
ReplyDeleteВсегда пожалуйста :)
ReplyDeleteКопал в этой области, но с буфером в 32k FirePHP все равно валил Nginx.
ReplyDeleteОказалось, что nginx для работы с FirePHP любит очень большие буфера.
Пожалуйста! :)
ReplyDeleteстранно - поставил
ReplyDeleteproxy_buffers 8 1m;
proxy_buffer_size 2m;
ничего не изменилось - как валилось на FirePHP так и валится :(
не fastcgi ли у вас?
ReplyDeleteА в таком случае для fastCGI нужно прописывать и куда ?
DeleteБольшое спасибо автор. впервые в русскоязычном блоге нахожу именно то что нужно
ReplyDeleteWillkommen :)
DeleteСпасибо огромное! Помогло
ReplyDeleteСпасибо!
ReplyDelete