每当我尝试上传一个大文件时,我的日志文件中出现以下错误。
a client request body is buffered to a temporary file /var/lib/nginx/body/0000000001
虽然file upload成功,我总是得到上述错误。
我增加了client_body_buffer_size
到1000m
这是我所期望的最大的file upload。 然而,这只是一个猜测,虽然我不明白这个错误,我想知道这是否是一个适当的值设置client_body_buffer_size
?
如果有人能够指出这一指令以及如何使用,我将不胜感激。
这是一个警告,而不是一个错误。 这就是为什么在日志中以[warn]
开头的原因。
这意味着上传文件的大小比为上传保留的内存缓冲区大。
指令client_body_buffer_size
控制该缓冲区的大小。
如果你能够承受1GB的内存总是保留偶尔的file upload,那没问题。 这是一个性能优化缓冲上载内存,而不是在磁盘上的临时文件,虽然这样大的上传几秒钟可能并不重要。 如果大部分上传量很小,那么这可能是浪费。
最后,只有你真的可以做出适当的尺寸的决定。
如果你不想让NginX将正文内容存储在一个临时文件中,你可以设置你的configuration。 喜欢这个:
client_body_buffer_size 10M; client_max_body_size 10M;
如果您将这两个configuration都设置为相同的最大值。 大小(分别为k,M或G,分别为kB,MB或GB),则会阻止NginX创build临时文件。 文件。
欲了解更多信息: http : //nginx.org/en/docs/http/ngx_http_core_module.html#client_body_buffer_size和http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size