J'obtiens l'erreur suivante dans mes fichiers journaux chaque fois que j'essaie de télécharger un gros fichier.
a client request body is buffered to a temporary file /var/lib/nginx/body/0000000001
Bien que le fichier soit téléchargé avec succès, j'obtiens toujours l'erreur ci-dessus.
J'ai augmenté le client_body_buffer_size
à 1000m
c'est ce que j'attends du plus gros fichier téléchargé. Cependant, ce n'était qu'une supposition et bien que je n'obtienne 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 quelqu'un puisse faire la lumière sur cette directive et sur la manière de l'utiliser.
Ceci est un avertissement, pas une erreur. C'est pourquoi il a été précédé de [warn]
dans le journal.
Cela signifie que la taille du fichier téléchargé était supérieure à la mémoire tampon en mémoire 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 fichiers occasionnel, alors ça va. C'est une optimisation des performances pour tamponner le téléchargement dans RAM plutôt que dans un fichier temporaire sur le disque, mais avec des téléchargements aussi importants, quelques secondes supplémentaires 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 vraiment décider de la taille appropriée.
Si vous ne souhaitez pas que NginX stocke le contenu du corps dans un fichier temporaire, vous pouvez définir votre configuration. comme ça:
client_body_buffer_size 10M;
client_max_body_size 10M;
Si vous définissez ces deux configurations au même max. (en k, M ou G pour kB, Mo ou Go, respectivement), vous éviterez que NginX crée un 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