Nginx的反向代理和負載均衡

   一、反向代理

  反向代理:反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現爲一個反向代理服務器。

   

   反向代理服務器是引用在服務端。決定哪臺服務器提供服務。

   二、反向代理好負載均衡

   1).反向代理

    應該有一個nginx服務器有多個應用服務器(可以是tomcat),可以使用一臺虛擬機,安裝一個nginx,多個tomcat,來模擬。

   模擬步驟:

    1、安裝jdk(CentOS自帶JDK)

    2、安裝tomcat,先上傳tar.gz文件到Linux,解壓,將解壓的tomcat複製兩份到指定文件夾

具體看:Linux上安裝tomcat

3、修改Nginx的配置文件:/usr/local/nginx/conf/nginx.conf

      

    4、在hosts中添加 tomcat.taotao.com

         

                     

upstream tomcats{
server 192.168.25.148:8080;
server 192.168.25.148:8081;
   }
 
   server {
        listen       80;
        server_name  tomcat.taotao.com;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        location / {
            proxy_pass   http://tomcats;
            index  index.html index.htm;
        }
   }
    5、重新加載nginx:./nginx -s reload

   

   訪問tomcattomcat1tomcat2輪詢加載

  

   1).負載均衡

    由於目前現有網絡的各個核心部分隨着業務量的提高,訪問量和數據流量的快速增長,其處理能力和計算強度也相應地增大,使得單一的服務器設備根本無法承擔。在此情況下,如果扔掉現有設備去做大量的硬件升級,這樣將造成現有資源的浪費,而且如果再面臨下一次業務量的提升時,這又將導致再一次硬件升級的高額成本投入,甚至性能再卓越的設備也不能滿足當前業務量增長的需求。

   針對此情況而衍生出來的一種廉價有效透明的方法以擴展現有網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性的技術就是負載均衡(Load Balance)。

    模擬步驟:

    只需要在upstreamserver後面添加一個weight即可代表權重。權重越高,分配請求的數量就越多,默認權重是1。加權輪詢(WRR)算法:爲每臺分配一個權重,權重表示相對於其他服務器,自身能處理連接的能力。權重爲n表示SLB爲下一服務器分配流量之前,要爲這臺服務器分配n條新連接。

    現在8080端口的tomcat加載兩次,8081的加載1

       

   【小結】

   通過實例對反向代理和負載均衡有了一個新的理解,還行不斷研究!


發佈了140 篇原創文章 · 獲贊 117 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章