1. 程式人生 > 其它 >===============Nginx筆記(全)==================

===============Nginx筆記(全)==================

  1. 基本概念:
    1. Nginx:Nginx (engine x) 是一個高效能的HTTP和反向代理web伺服器,同時也提供了IMAP/POP3/SMTP服務。Nginx是由伊戈爾·賽索耶夫開發的,公開版本1.19.6釋出於2020年12月15日。是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,在BSD-like 協議下發行。其特點是佔有記憶體少,併發能力強,nginx的併發能力在同類型的網頁伺服器中表現較好。
    2. 正向代理:區域網中的客戶端訪問Internet的資源,要通過代理伺服器進行訪問,這個代理伺服器就是正向代理。比如說,一個人想從大陸t通過瀏覽器訪問www.google.com,直接訪問是訪問不了的(可以自己試一下),如果想去正常訪問就要先在瀏覽器中配置一個代理伺服器(打比方這個代理伺服器網址為www.abc.com),經過代理伺服器向www.google.com傳送請求進行訪問。
    3. 反向代理:反向代理伺服器位於使用者與目標伺服器之間,但是對於使用者而言,反向代理伺服器就相當於目標伺服器,即使用者直接訪問反向代理伺服器就可以獲得目標伺服器的資源。對外而言反向代理伺服器和目標伺服器就是一個伺服器,暴露的是代理伺服器的IP,隱藏其真實的伺服器的IP。
    4. 正向代理與反向代理的區別:
      1. 正向代理主要用於:訪問原來無法訪問的資源、加速訪問、對客戶端訪問授權,上網進行認證、對外隱藏使用者資訊等......
      2. 反向代理主要用於:隱藏真實伺服器IP地址,保護其內網的安全、實現負載均衡等......
      3. 正向代理是部署在客戶端,既客戶端代理;反向代理是部署在服務端的也就是服務端的代理。
    5. 看圖理解:(圖片來自網路)

           

                              正向代理圖解

        

                            反向代理圖解

   6.負載均衡:負載均衡說白了就是通過反向代理伺服器吧大量的請求力爭平均的分發給真實的多個伺服器中(要增加伺服器的數量),通過下圖進行理解。舉個例子:打比方瀏覽器客戶端同時發起了99個請求,這些請求就會通過反向代理伺服器分發給tomcat1到                           tomcat3這三個伺服器,力求每個伺服器分到33個請求,但不一定是平均的,使其真實每個內部伺服器的承受的壓力都會大大減少。更簡單點理解就是原本一個人幹十個活變成了多個人幹十個活。