轉文 Nginx Tomcat 負載均衡集群方案

2021-06-05 04:08:45 字數 2789 閱讀 4018

最近在看集群的一些的資料的時候,發現了下面的這篇文章非常簡潔。轉了過來。

nginx+tomcat 負載均衡集群方案

該方案是我之前做過的乙個專案生產應用的,目前執行良好,如何您生產使用,請先做好測試。

系統架構圖

[root@nginx-node1 src]# cd /usr/local/src

[root@nginx-node1 src]# wget

[root@nginx-node1 src]# wget

[root@nginx-node1 src]# wget

[root@nginx-node1 src]# chmod +x *

[root@nginx-node1 src]# ls -l

-rwxr-xr-x 1 root root  241437 10-01 17:25 keepalived-1.1.19.tar.gz

-rwxr-xr-x 1 root root  621534 03-04 01:00 nginx-0.8.34.tar.gz

-rwxr-xr-x 1 root root 1247730 03-31 16:31 pcre-8.02.tar.gz

安裝nginx

安裝nginx依賴的

[root@nginx-node1 src]# tar zxvf pcre-8.02.tar.gz

[root@nginx-node1 src]# cd pcre-8.02

[root@nginx-node1 pcre-8.02]# ./configure

[root@nginx-node1 pcre-8.02]# make && make install

安裝nginx

nginx 配置檔案

upstream wap  #設定wap集群池

server

error_page   500 502 503 504  /50x.html;

location = /50x.html

}server

error_page   500 502 503 504  /50x.html;

location = /50x.html }}

nginx upstream支援的分配方法

nginx的upstream目前支援5種方式的分配

1.輪詢(預設)

每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。

2.weight (帶權重的)

指定輪詢權重,weight和訪問比率成正比,用於後端伺服器效能不均的情況。

例如:upstream bakend

3.ip_hash

每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以解決session的問題。

例如:upstream bakend

4.fair(第三方)

按後端伺服器的響應時間來分配請求,響應時間短的優先分配。

upstream backend

5.url_hash(第三方)

按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,後端伺服器為快取時比較有效。

例:在upstream中加入hash語句,server語句中不能寫入weight等其他的引數,hash_method是使用的hash演算法

upstream backend

設定說明:

每個裝置的狀態設定為:

1.down 表示單前的server暫時不參與負載

2.weight 預設為1.weight越大,負載的權重就越大。

3.max_fails :允許請求失敗的次數預設為1.當超過最大次數時,返回proxy_next_upstream 模組定義的錯誤

4.fail_timeout:max_fails次失敗後,暫停的時間。

5.backup: 其它所有的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕。

nginx支援同時設定多組的負載均衡,用來給不用的server來使用。

client_body_in_file_only 設定為on 可以講client post過來的資料記錄到檔案中用來做debug

client_body_temp_path 設定記錄檔案的目錄 可以設定最多3層目錄

location 對url進行匹配.可以進行重定向或者進行新的** 負載均衡

nginx tomcat負載均衡

nginx版本為1.9.15 必須關閉selinux,否則做請求 時會失敗報錯 關閉selinux 執行 setenforce 0 這個之後暫時關閉selinux,重啟後selinux還是開啟的,要永遠關閉selinux需修改配置檔案 vi etc selinux config 將selinux設定...

Nginx Tomcat負載均衡

使用nginx做 後台兩台tomcat伺服器做負載均衡,nginx和tomcat安裝在其他文章中都可以找到,這裡不做介紹。1 nginx配置 由於專案使用了websocket,所以需要nginx支援websocket,nginx從1.3版本開始支援websocket,所以對版本有一定要求,配置很簡單...

nginx tomcat負載均衡

安裝jdk 解壓,配置環境變數即可 2.安裝tomcat 安裝兩個tomcat,分別為tomcat1和tomcat2。接下來,修改tomcat埠。需修改三個埠 shutdown 埠 8005 主要負責啟動關閉.ajp埠 8009 主要負責通過ajp均衡 常用於apache和tomcat整合 http...