Nginx - warn - an upstream response is buffered to a temporary file. Как исправить
Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Nginx - warn - an upstream response is buffered to a temporary file. Как исправить
Часто можем наблюдать в логах ошибок nginx сообщения:
2020/04/07 02:40:31 [warn] 17827#17827: *1063 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/4/03/0000000034 while reading upstream, client:
Это не ошибка, а предупрежедение о том, что буферы nginx в оперативной памяти RAM переполнены и nginx начинает сохранять тело ответа во временный файл на диск (в логах это выглядит как an upstream response is buffered to a temporary file).
Решение:
1) Можно вообще отключить возможно записи во временный файл на диск. Для этого в секцию http {} nginx.conf нужно добавить:
proxy_max_temp_file_size 0;
2) Подобрать размер буферов, то бы ответы бэкенда помещались целиком. Зависит от схемы работы Apache + PHP (как модуль apache или как модуль FASTCGI).
Если PHP работает как модуль apache: http{ ....... proxy_buffering on; # по умолчанию proxy_buffer_size 4k; proxy_buffers 32 4k; # до 132K + ядерные буфера
Если PHP работает как FASTCGI модуль http{ ....... fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k;
Перезапускаем nginx и проверяем работу.
# systemctl restart nginx