L'erreur suivante apparaît dans mes fichiers journaux chaque fois que j'essaie de télécharger un fichier volumineux.
a client request body is buffered to a temporary file /var/lib/nginx/body/0000000001
Bien que le fichier soit chargé avec succès, j'obtiens toujours l'erreur ci-dessus.
J'ai augmenté la client_body_buffer_size
à 1000m
qui est ce que je pense le plus grand fichier téléchargé pour être. Cependant, c'était juste une supposition et bien que je ne reçois plus cette erreur, je me demande si c'est une valeur appropriée à définir pour le client_body_buffer_size
?
J'apprécierais que quiconque puisse nous éclairer sur cette directive et sur la manière dont elle devrait être utilisée.
Réponses:
Ceci est un avertissement, pas une erreur. C'est pourquoi il a été préfacé
[warn]
dans le journal.Cela signifie que la taille du fichier téléchargé était plus grande que la mémoire tampon réservée aux téléchargements.
La directive
client_body_buffer_size
contrôle la taille de ce tampon.Si vous pouvez vous permettre d'avoir 1 Go de RAM toujours réservé pour le téléchargement de fichier occasionnel, c'est très bien. Il s'agit d'une optimisation des performances consistant à mettre en mémoire tampon le téléchargement dans la RAM plutôt que dans un fichier temporaire sur disque, bien qu'avec quelques téléchargements aussi importants, quelques secondes de plus n'ont probablement pas beaucoup d'importance. Si la plupart de vos téléchargements sont petits, c'est probablement un gaspillage.
En fin de compte, vous seul pouvez réellement décider de la taille appropriée.
la source
Si vous ne voulez pas que NginX stocke le contenu du corps dans un fichier temporaire, vous pouvez définir votre configuration. comme ça:
Si vous définissez ces deux configurations au même maximum. taille (en k, M ou G pour kB, Mo ou Go, respectivement), vous éviterez que NginX crée une temp. fichier.
Pour plus d'informations: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size et http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
la source
client_max_body_size
paramètre. Voir l'info sur ce lien: 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.