tomcat apache jk叢集 負載均衡

2022-08-05 16:27:14 字數 2130 閱讀 2570

二。參考:

三。環境:多臺伺服器。

四。安裝。

主機a:apache,tomcata,ip:192.168.1.20  ,apache埠80,tomcat埠8080

主機b tomcatb,ip:192.168.1.21,埠80

主機c tomcatc,ip:192.168.1.22,埠80

五。配置apache。

當然你也可以放在httpd.conf檔案最後面,隨大家愛好。。。,然後在http.conf最後面加入這幾行

這個workers.properties和uriworkermap.properties名字隨便取,但是字尾名要是properties。mod_jk.log同樣也可以隨便取名字,這個檔案就是寫日誌的。jkloglevel 日誌等級,warn以上的都會寫入日誌,而這些檔案將會放在根目錄下的conf資料夾下。

workers.properties就是負責負載均衡的。而uriworkermap.properties則是設定哪些檔案由apache處理,哪些檔案由tomcat處理。

在conf資料夾下新建剛才說的workers.properties。在裡面寫:

其中port為tomcat下server.xml裡的 對應埠。host值為對應主機,這裡不要擔心其他主機tomcat不為8080等其他埠,apache是通過ajp埠找到對應tomcat的。type的值為固定ajp13,這個值不能修改哦。lbfactor 的值就是均衡時apache訪問tomcat的概率,如果3個tomcat的值都相等,那麼服務設定了負載均衡的話,就會平均分發給各個tomcat,。controller下面就是負載均衡器了。type=lb表示負載均衡,balanced_workers表示指定哪些tomcat負載均衡,retries的值我現在還不明白什麼意思。sticky_session=false 表示進行session複製,為true表示session不復制。詳細見上面給的參考

接著在conf資料夾下新建uriworkermap.properties。在裡面寫下:

status是剛才workers.properties檔案中配置的,意思是由tomcat進行處理。哪些由tomcat處理呢?除了下面那些字尾的檔案外,其他的都由tomcat處理,相信大家這時候都知道後面哪些由誰處理了,對,就是apache。當然你也可以增加其他型別檔案由apache處理。

另:如果tomcatb下面有其他jsp應用的話,那麼server.xml就要這樣配置了:

localhost這個值請不要域名錶示,因為apache是通過ip找到對應專案的。當然下面的"其他應用"可以使用域名錶示。並不影響。

就這樣apache就配置完了,接著是配置tomcat。

六。配置tomcat。

在每個tomcat的server.xml檔案中,修改以下資訊:

找到類似這樣的:,預設tomcat把這個給註釋掉了,去掉註釋,jvmroute裡面的值就是workers.properties中設定的tomcata,tomcatb,tomcatc。然後在該標籤內新增以下資訊:

還有一點,就是如果3個tomat都是放在同一臺電腦上的話,ajp埠要設定不同,還有

找到這裡,埠4000也要設定不同。。。。

這樣,叢集就配置好了,當然這個叢集只是實現了其中的一種方式,就是第一次請求某個tomcat,後續的請求都會由這個tomcat進行處理。當然,這裡session沒有進行復制了。

如果想進行session複製,那麼要修改workers.properties:worker.dlog4j.sticky_session=false。

還要在專案中的web.xml檔案下加上:

最後一點就是修改server.xml,在 標籤下加上:

我就是沒有加上這點,其他都設定好了,導致session無法複製。將以下這行註釋掉:

改為:這個mapsendoptions的值也有特殊含義,好像tomcat文件有講解吧...

額,似乎就這些配置了,session可以複製了。但是我要說的是,這個session是可以複製,但也就是當session在建立或者消費的時候會進行復制,如果session進行更新操作,將無法複製。當然,也許是我少配置**了,如果誰這樣配置了session更新了還可以複製的話,還希望在下面留個言,謝謝!在tomcat官網看到,

這個就是提供session複製的介面,不過tomcat6.0版本好像還沒實現這個介面,導致session不能真正意義上覆制了。

Apache Tomcat的整合與負載均衡

參考文件 環境 centos5 8 64bit 安裝apache 這裡我選擇了yum 方式安裝 yum install httpd http...