Nginx------什麼是反向代理與負載均衡
什麼是反向代理與負載均衡
明確在上網衝浪的過程中,我們瀏覽的網頁及對應的應用程式應當是存放在伺服器中, 更加具體來說這些應用程式是存放在某個物理機上的,這個物理機也就是伺服器了。個人的電腦也可以作為伺服器,但是個人電腦效能比較低,我們可以選擇效能比較高的硬體作為專門的伺服器。那麼對於一個伺服器來說應當包含的是:伺服器=高效能可儲存應用程式硬體+作業系統+伺服器軟體。伺服器軟體有:Apache 、Tomcat、Nginx。
對於Nginx的定位:Nginx是伺服器軟體,最為基本和最為重要的功能是:與硬體結合,釋出應用程式。除此之外Nginx還是高效能HTTP和反向代理伺服器,同時可以代理郵件伺服器。即Nginx可以完成的功能是釋出網站(服務程式),實現負載均衡,實現收發郵件功能。負載均衡是指:當N個使用者同時訪問我們的服務的時候,為降低伺服器的壓力,可以將訪問分別引入已經部署好的伺服器上,分擔訪問壓力。負載均衡的目的是,防止單個伺服器壓力過大,伺服器崩潰,癱瘓。此時描述就是我們預設是伺服器叢集,就是對於同一套應用程式我們部署到多臺含有伺服器軟體的硬體程式上。
在上圖中使用者訪問請求都會想經過Nginx伺服器,Nginx伺服器會根據伺服器1,伺服器2當前的訪問壓力合理的將請求轉發給伺服器1/2來對該請求進行響應。Nginx伺服器是不處理使用者的請求的。
Nginx伺服器與其他伺服器的比較:
1、與IIS伺服器的比較,IIS伺服器是Windows伺服器效能要比Linux類的伺服器效能低,Tomcat相對Nginx伺服器較重,且面向的是java語言,Apache伺服器是較為穩定且是開源跨平臺的伺服器,但是其缺點是不支援高併發,高併發是指N多使用者同時訪問伺服器。Nginx是可以處理百萬級別的TCP連線,10萬以上的併發連線且跨平臺。
2、Nginx伺服器的優缺點:
優點是:實現高併發,部署簡單,記憶體消耗少,成本低
缺點是:rewrite不夠強大,模組沒有Apache多。