Nginx(二) 反向代理&負載均衡

1.反向代理html

當咱們請求一個網站時,nginx會決定由哪臺服務器提供服務,就是反向代理。nginx

nginx只作請求的轉發,後臺有多個tomcat服務器提供服務,nginx的功能就是把請求轉發給後面的服務器,決定把請求轉發給誰。tomcat

1.2.安裝並啓動tomcat 略服務器

    2個tomcat 路徑192.168.88.137:8080  192.168.88.137:8081網絡

 1.3.nginx.conf的反向代理配置負載均衡

#配置一個代理即tomcat1服務器
upstream tomcat_server1 {
            server 192.168.88.137:8080;
        }
#配置一個代理即tomcat2服務器
    upstream tomcat_server2 {
            server 192.168.88.137:8081;
        }

#配置一個虛擬主機
    server {
        listen 80;
        server_name www.kawa8080.com;
        location / {
                #域名www.kawa8080.com的請求所有轉發到tomcat_server1即tomcat1服務上
                proxy_pass http://tomcat_server1;
                #歡迎頁面,按照從左到右的順序查找頁面
                index index.jsp index.html index.htm;
        }

    }

    server {
        listen 80;
        server_name www.kawa8081.com;

        location / {
                 #域名www.kawa8081.com的請求所有轉發到tomcat_server2即tomcat2服務上
           proxy_pass http://tomcat_server2;
          index index.jsp index.html index.htm;
}

}

 1.4.測試反向代理jsp

2.nginx的負載均衡測試

         負載均衡 創建在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增長吞吐量、增強網絡數據處理能力、提升網絡的靈活性和可用性。網站

         負載均衡,英文名稱爲Load Balance,其意思就是分攤到多個操做單元上進行執行,例如Web服務器、FTP服務器、企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工做任務。spa

2.1 nginx.conf配置負載均衡

根據上邊的需求在nginx.conf文件中配置負載均衡,以下:

upstream tomcat_server_pool{
        server 192.168.88.137:8080 weight=1;
        server 192.168.88.137:8081 weight=1;
        }

    server {
        listen 80;
        server_name www.kawaall.com;
        location / {
                 proxy_pass http://tomcat_server_pool;
                 index index.jsp index.html index.htm;
        }
    }
節點說明:
在http節點裏添加:

#定義負載均衡設備的 Ip及設備狀態 
upstream myServer {   

    server 127.0.0.1:9090 down; 
    server 127.0.0.1:8080 weight=2; 
    server 127.0.0.1:6060; 
    server 127.0.0.1:7070 backup; 
}

在須要使用負載的Server節點下添加

proxy_pass http://myServer;

upstream 每一個設備的狀態:

down 表示單前的server暫時不參與負載 
weight  默認爲1.weight越大,負載的權重就越大。 
max_fails :容許請求失敗的次數默認爲1.當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤 
fail_timeout:max_fails 次失敗後,暫停的時間。 
backup: 其它全部的非backup機器down或者忙的時候,請求backup機器。因此這臺機器壓力會最輕。
相關文章
相關標籤/搜索