1. 程式人生 > >nginx反向代理與負載均衡的配置

nginx反向代理與負載均衡的配置

說到反向代理首先先大家普及下什麼是反向代理.

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

首先我們先理解正向代理,如下圖:
在這裡插入圖片描述
正向代理是針對你的客戶端,而反向代理是針對伺服器的,如下圖
在這裡插入圖片描述
在這裡插入圖片描述
配置反向代理-準備工作

(1) 將網站首頁頁面部署到tomcat中(ROOT目錄),上傳到伺服器。
(2)啟動TOMCAT,輸入網址http://192.168.25.141:8080可以看到網站首頁

配置反向代理
(1)在Nginx主機修改 Nginx配置檔案

 upstream tomcat-portal {
   server 192.168.25.141:8080;
}
server {
    listen       80;
    server_name  www.pinyougou.com;   
    location / {
        proxy_pass   http://tomcat-portal;
        index  index.html;
    }
}

(2)重新啟動Nginx 然後用瀏覽器測試: www.pinyougou.com (此域名須配置域名指向)

負載均衡

什麼是負載均衡

負載均衡 建立在現有網路結構之上,它提供了一種廉價有效透明的方法擴充套件網路裝置和伺服器的頻寬、增加吞吐量、加強網路資料處理能力、提高網路的靈活性和可用性。
負載均衡,英文名稱為Load Balance,其意思就是分攤到多個操作單元上進行執行,例如Web伺服器、FTP伺服器、企業關鍵應用伺服器和其它關鍵任務伺服器等,從而共同完成工作任務。

配置負載均衡-準備工作

(1)將剛才放有首頁工程的tomcat複製兩份,埠分別為8180 和8280 。
(2)分別啟動這兩個tomcat伺服器的tomcat服務。
(3)為了能夠區分是訪問哪個伺服器的網站,可以在首頁標題加上標記以便區分。

配置負載均衡

修改 Nginx配置檔案:

  upstream tomcat-portal {
	server 192.168.25.141:8080;
	server 192.168.25.141:8180;
	server 192.168.25.141:8280;
    }
    server {
        listen       80;
        server_name  www.pinyougou.com;
 
        location / {
            proxy_pass   http://tomcat-portal;
            index  index.html;
        }       
       
    }

位址列輸入http://www.pinyougou.com/ 重新整理觀察每個網頁的標題,看是否不同。
經過測試,三臺伺服器出現的概率各為33.3333333%,交替顯示。
如果其中一臺伺服器效能比較好,想讓其承擔更多的壓力,可以設定權重。
比如想讓NO.1出現次數是其它伺服器的2倍,則修改配置如下:

  upstream tomcat-portal {
	  server 192.168.25.141:8080;
	  server 192.168.25.141:8180 weight=2;
	  server 192.168.25.141:8280;
    }

經過測試,每重新整理四次,有兩次是8180…