Recibo el siguiente error en mis archivos de registro cada vez que intento cargar un archivo grande.
a client request body is buffered to a temporary file /var/lib/nginx/body/0000000001
Aunque el archivo se carga correctamente, siempre recibo el error anterior.
Aumenté la client_body_buffer_size
de 1000m
que es lo que espero que el archivo más grande subido ser. Sin embargo, esto es solo una suposición y, aunque ya no obtengo ese error, me pregunto si este es un valor apropiado para establecer client_body_buffer_size
.
Le agradecería si alguien puede arrojar algo de luz sobre esta directiva y cómo se debe utilizar.
Respuestas:
Esta es una advertencia, no un error. Es por eso que fue precedido
[warn]
en el registro.Significa que el tamaño del archivo cargado era mayor que el búfer en memoria reservado para las cargas.
La directiva
client_body_buffer_size
controla el tamaño de ese búfer.Si puede permitirse tener 1GB de RAM siempre reservado para la carga ocasional de archivos, entonces está bien. Es una optimización del rendimiento para almacenar la carga en RAM en lugar de en un archivo temporal en el disco, aunque con cargas tan grandes, un par de segundos adicionales probablemente no importen demasiado. Si la mayoría de sus cargas son pequeñas, entonces probablemente sea un desperdicio.
Al final, solo usted realmente puede tomar la decisión de cuál es el tamaño apropiado.
fuente
Si no desea que NginX almacene el contenido del cuerpo en un archivo temporal, puede configurar su configuración. Me gusta esto:
Si establece ambas configuraciones al mismo máximo. tamaño (en k, M o G para kB, MB o GB, respectivamente), evitará que NginX cree una temperatura. archivo.
Para más información: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size y http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
fuente
client_max_body_size
parámetro. Vea la información en este enlace: 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.