Nginx代理服務器中的文件整理系統(tǒng)
Nginx代理服務器當面對海量的文件時就需要文件整理系統(tǒng)。但是這又是怎么樣完成的呢?下面我們就來看看有關的文件整理系統(tǒng)。在網(wǎng)上意外發(fā)現(xiàn)一種說法,眾所周知,往Nginx代理服務器上傳一個文件,Nginx會自己將這個文件保存下來,然后再往后端發(fā)送。
在這個過程中,Nginx代理服務器會創(chuàng)建一個臨時文件,既然是臨時文件,很顯然會在文件系統(tǒng)上存有一個文件,于是,Nginx就可以往后端發(fā)送一個臨時文件的文件名,而不是一整個文件!
然后后端拿到這個文件名可以直接讀取。這個文件名在Nginx由一個變量提供,那就是$request_body_file,在Nginx的php fastcgi_params配置文件中,因為一般都是直接抄的,所以通常都帶有這句:fastcgi_param REQUEST_BODY_FILE $request_body_file;于是,在Nginx的proxy配置中,也可以寫上:proxy_set_header request_header_file $request_body_file;雖然Nginx代理服務器可以將這個臨時文件的文件名傳到后端,但是仍然需要滿足一些條件才能利用到這個優(yōu)化的:
1) 后端要和代理在同一臺機器上,這個不必要解釋。
2) 后端要支持這項優(yōu)化,在大多數(shù)應用服務器上就是能夠關閉上傳功能,僅僅讀取request_header就可以,這么看來,有了這個變量,居然能使不支持上傳的應用服務器軟件輕易就增加了上傳文件的功能。
【編輯推薦】