Eu recebo o seguinte erro nos meus arquivos de log sempre que tento carregar um arquivo grande.
a client request body is buffered to a temporary file /var/lib/nginx/body/0000000001
Embora o arquivo seja carregado com êxito, sempre recebo o erro acima.
Aumentei o valor client_body_buffer_size
para o 1000m
qual eu espero que o maior arquivo carregado seja. No entanto, isso foi apenas um palpite e, embora eu não receba mais esse erro, pergunto-me se esse é um valor apropriado para o client_body_buffer_size
?
Eu apreciaria se alguém pudesse lançar alguma luz sobre essa diretiva e como ela deve ser usada.
Respostas:
Este é um aviso, não um erro. É por isso que foi precedido
[warn]
no log.Isso significa que o tamanho do arquivo carregado foi maior que o buffer da memória reservado para uploads.
A diretiva
client_body_buffer_size
controla o tamanho desse buffer.Se você pode ter 1 GB de RAM sempre reservado para o upload ocasional de arquivos, tudo bem. É uma otimização de desempenho para armazenar em buffer o upload na RAM em vez de em um arquivo temporário no disco, embora com envios tão grandes alguns segundos extras provavelmente não importem muito. Se a maioria dos seus envios for pequena, provavelmente será um desperdício.
No final, somente você pode realmente tomar a decisão sobre qual é o tamanho apropriado.
fonte
Se você não deseja que o NginX armazene o conteúdo do corpo em um arquivo temporário, é possível definir sua configuração. como isso:
Se você definir essas duas configurações no mesmo valor máx. tamanho (em k, M ou G para kB, MB ou GB, respectivamente), você evitará que o NginX crie uma temperatura. Arquivo.
Para obter mais informações: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size e http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
fonte
client_max_body_size
parâmetro. Veja as informações neste link: client_max_body_size doc. :Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size.