nginx+tomcat進行負載均衡

1.方案:三臺tomcat服務器,經過nginx反向代理到tomcat服務器上面來達到負載均衡的效果html

2.環境:騰訊雲linux版本服務器+nginx+3個tomcat服務器linux

3.首先購買一臺騰訊雲服務器linux版(學生價格一個月十元左右)nginx

4.安裝nginxweb

5.安裝tomcat和jdk算法

6.由於咱們須要三臺tomcat服務器,因此安裝一臺以後再複製兩份windows

命令:cp -a  原tomcat名字   新tomcat名字瀏覽器

注意:cp 是複製意思   cp -a   是保留原文件屬性的前提下複製文件 tomcat

這裏咱們複製兩臺命名爲tomcat2 、tomcat3服務器

 7.下面咱們更改tomcat端口,目前三個tomcat端口都是8080,咱們將tomcat二、tomcat3改成808一、8082session

更改端口在conf/server.xml中修改三個地方:以tomcat修改成8081爲例(8082再也不贅述)

第一個:

第二個:

第三個:

 

8.如今咱們三個tomcat訪問端口分別爲8080、808一、8082,下面配置nginx負載均衡

nginx安裝目錄通常是usr/local/nginx ,因此修改配置文件usr/local/nginx/conf/nginx.conf

配置好以後將三個tomcat所有啓動,啓動方法和windows下啓動方法同樣,而後啓動nginx(參考另外一篇nginx的文章),在瀏覽器中輸入http://140.143.75.62訪問

那這個時候有人問了,怎麼知道負載均衡效果有沒有起做用,ok這裏咱們修改一下這個tomcat默認頁面:

對tomcat2/webapps/ROOT/index.jsp進行一些修改,修改完訪問效果以下:

而後刷新一下瀏覽器以下圖:

而後再刷新一下:

這個時候看到了吧,三個tomcat服務器進行負載均衡,這是最簡單的默認的負載均衡方法(輪詢法),輪詢就是從上到下一次訪問個人三個tomcsat

負載均衡2(權重法):

 upstream server1{
       server 140.143.75.62:8080 
weight=1;
       server 140.143.75.62:8081 
weight=3;
       server 140.143.75.62:8082 
weight=5;
   }

權重法意思是訪問一次8080,而後三次8081,而後五次8082

負載均衡3(IP  Hash):配置ip綁定,只要訪問一次以後,固定某個ip訪問

upstream server1{

       ip_hash;
       server 140.143.75.62:8080 ;
       server 140.143.75.62:8081 
;
       server 140.143.75.62:8082 
;
   }

可以解決session共享的問題

--------------------------------------------------------------------------------------------------------------------------

下面兩種爲第三方的,瞭解便可:

負載均衡4(fair配置):按上游服務器的響應時間來分配請求。響應時間短的優先分配

upstream server1{
       server 140.143.75.62:8080 ;
       server 140.143.75.62:8081 
;
       server 140.143.75.62:8082 
;

       fair;
   }

負載均衡5(url_hash配置):按照訪問的url的hash結果來分配請求,使每個url定向到同一個上游服務器。注意:在upstream中加入hash語句。server語句中不能寫入weight等其餘的參數,hash_method是使用的hash算法。

upstream server1{
       server 140.143.75.62:8080 ;
       server 140.143.75.62:8081 
;
       server 140.143.75.62:8082 ;

       hash $request_uri;

       hash_method crc32;
   }

感興趣的小夥伴能夠掃碼關注下公衆號哦,公衆號會分享高質量的技術文章哦

相關文章
相關標籤/搜索