最近在看集群的一些的資料的時候,發現了下面的這篇文章非常簡潔。轉了過來。
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...