I am writing a ruby on rails application that has large file uploads. (20-100MB).
I have looked into ways to do this without tying up the rails processes. I have come across an nginx module that does specifically this. (http://www.grid.net.ru/nginx/upload.en.html)
However, It seems to me while watching logs and my server that while uploading a large file, it seems to buffer before sending over to my rails process..even without the nginx module upload module installed.
My QUESTION then is: It seems like nginx is doing this by default install… Do I still need to install and use the upload module? What is really going on here?
~Kirk
nginx always buffers request bodies before opening a connection to an upstream. I believe the difference between the native behavior and the module you found is that with the native behavior, the file contents will be sent over the connection to the backend, and the upload module only sends the filename to the backend, reducing the amount of data sent over the socket, which only works if nginx and the backend are on the same machine.