Ошибка Nginx pwritev () - проблема буферизации - PullRequest
0 голосов
/ 25 октября 2019

У меня проблема с nginx. У меня есть сайт, который позволяет загружать большие файлы (например, 500 МБ). Мой сайт запускается в докере. Иногда (один раз в месяц) у меня была ошибка, которая выглядела так:

*70702337 pwritev() "/var/cache/nginx/fastcgi_temp/3/57/0001589573" has written only 4856 of 8184 while reading upstream, client: 172.26.141.1, server: 172.26.141.15, request: "GET /download/4383b6219892972184eb11a098a8d045ac1e53a1 HTTP/1.0", upstream: "fastcgi://172.26.141.2:9000", host: mydomian.com

Это приводит к тому, что страница возвращает ошибку 502 неверный шлюз и необходимо перезапустить докер-контейнеры.

Моя конфигурация сервера PHP-fpm + fastcgi

Я нашел решение, которое предлагает установить параметр fastcgi_buffering = off; Но я не знаю, что это хорошее решение для веб-сайта, позволяющее загружать файлы размером по 500 МБ каждый.

Знаете ли вы, что я должен делать?

В моей конфигурации nginx есть строка client_body_buffer_size 64K; - может быть, это неправильное значение?

...