nginx反向代理為什麼能降低上游伺服器的負載。
一般來說公網延遲高,客戶端與nginx之間的請求連接走公網,nginx先把這些請求快取住,等這些請求資料全部完成之後nginx再向內網伺服器請求,降低公網網路延遲成本,同時也降低一個連線佔用服務端程式的時間。 (推薦學習:nginx教程)
原因:
因為tcp不一定一次就能把全部資料傳輸完畢,所以一個連線可能需要等待很久才能把所有需要的資料都傳輸完畢,而這樣的空閒連線如果都直接連接到伺服器上的話,會加重伺服器負擔,而nginx在這方面做了很大的優化,可以承載更多的連接,空閒連接也不會佔據太多內存,所以nginx作為反向代理能降低上游伺服器的負載。
反向代理:反向代理程式(ReverseProxy)是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連接的客戶端,簡單來說就是真實的伺服器不能直接被外部網路存取,想要存取必須透過代理程式。
反向代理程式的作用
1、防止主伺服器被惡意攻擊
#2、為負載平衡和動靜分離提供實作支援
nginx應用程式之所以廣泛,我認為這歸功於它的靈活配置,一個nginx.conf檔案解決大部分問題,不論是nginx創建虛擬伺服器、nginx的反向代理伺服器,還是nginx的負載均衡,幾乎都在這個設定檔中進行。
伺服器上只負責把nginx搭好,跑起來就好。而且它本身輕量級,不需要佔用伺服器太多資源就可以達到較好的效果,是一個非常值得推崇的伺服器
以上是為什麼要用Nginx反向代理的詳細內容。更多資訊請關注PHP中文網其他相關文章!