Apache2 2 Tomcat5 5 集群配置

2021-08-30 09:34:14 字數 3307 閱讀 8441

一、架構:

users --> apache web server + mod_jk -->tomcat instance

1、mode_jk介紹:

它是早期mod_jserv的替代品,是乙個全新負責處理apache和tomcat通訊的apache外掛程式。

apache載入jk模組,通過ajp13(apache jserv protocol version 1.3)協議與tomcat通訊;

2、apache + jk 負載均衡器作用?

1)它實現了負載均衡演算法,通過將請求分發到不同的伺服器來達到高可用性和高效的處理能力;

2)監控集群中每乙個tomcat的健康狀態,來防止將請求**到乙個失敗的節點;

3)它會使用「會話粘滯」技術以確保來自同乙個使用者的請求會被**到同乙個伺服器;

二、環境搭建:

由於是集群,這裡我們安裝2個tomcat,並命名tomcat根目錄分別為tomcata和tomcatb,如果使用預設配置,就不能同時啟動兩個tomcat了,我們必須修改其中乙個tomcat的配置,例如修改tomcatb。找到tomcatb的conf目錄的server.xml,將其中出現80位置全部修改為90(此時html埠變為9080,而ajp協議變為9009,應用程式主要是通過html埠訪問,而apache是通過ajp協議與tomcat通訊的);

三、配置:

1、實現apache請求**多個tomcat

1)在apache的安裝目錄下的modules目錄下,找到httpd.conf檔案,開啟此檔案,搜尋#loadmodule,在這些遮蔽資訊#loadmodule後加上

讓httpd載入jk_module模組。

再在該檔案最後加上如下內容:

#告訴apache workers檔案的位置

jkworkersfile "%apachehomedir%/conf/workers.properties"

#日誌jklogfile "%apachehomedir%/logs/mod_jk.log"

#日誌級別

jkloglevel warn

#路徑滿足/jsp-examples 或 /jsp-examples/* 給work1處理

jkmount /jsp-examples worker1

jkmount /jsp-examples/* worker1

#路徑滿足/servlets-examples 或 /servlets-examples/* 給work2處理

jkmount /servlets-examples worker2

jkmount /servlets-examples/* worker2

2)在 "%apachehomedir%/conf 目錄下建立workers.properties檔案,內容如下:

注意:由於apache使用的是80埠,通過80埠可以訪問到兩個tomcat中自帶的示例應用程式,故apache完成了請求從apache到tomcat的**;

2、實現負載均衡與會話粘滯:

1)修改 "%apachehomedir%/conf/workers.properties" 檔案,其內容為:

# balancer 為邏輯名

worker.list = balancer

# worker.balancer要與上面的balancer同名;lb=load balance

worker.balancer.type = lb

# 承擔分發工作的tomcat

worker.balancer.balance_workers = worker1,worker2

# b策略=busy 根據繁忙係數來決定請求分配

worker.balancer.method = b

# 說明這個負載均衡器會實現會話粘滯功能(可參考官方說明,各版本tomcat配置會不一樣)

worker.balancer.sticky_session = 1

worker.worker1.port = 8009

# 遠端伺服器則修改為伺服器的ip

worker.worker1.host = localhost

worker.worker1.type = ajp13

# 負載均衡器根據這引數來決定該伺服器使用的頻率

worker.worker1.lbfactor = 1

worker.worker2.port = 9009

worker.worker2.host = localhost

worker.worker2.type = ajp13

worker.worker2.lbfactor = 1

2)為tomcat的engine配置jvmroute引數

開啟tomcat 的 server.xml檔案,找到engine,在此標籤內加上jvmroute="worker1",另外乙個tomcat加上jvmroute="worker2"

此處的work1和work2要與apache 的 conf/workers.properties配置的work名稱對應,這樣apache才知道是哪個tomcat來處理請求;

3)修改apache的httpd.xml檔案,其內容如下:

jkmount /jsp-examples balancer

jkmount /jsp-examples/* balancer

jkmount /servlets-examples balancer

jkmount /servlets-examples/* balancer

從而將之前交給work1和work2的請求,全部交給balancer來處理。

4)修改tomcat的server.xml檔案,去掉cluster注釋:

分別修改兩個tomcat的server.xml檔案,分別去掉cluster注釋,並修改tcplistenport配置,將其中乙個改為4002即可。

5)配置集群應用:

找到你要集群的專案,web.xml檔案

apache2 2 tomcat實現負載均衡

無論是分布式,資料快取,還是負載均衡,無非就是改善 的效能瓶頸,在 原始碼不做優化的情況下,負載均衡可以說是最直接的手段了 其實拋開這個名詞,放開了說,就是希望使用者能夠分流,也就是說把所有使用者的訪問壓力分散到多台伺服器上,也可以分散到多個tomcat裡,如果一台伺服器裝多個tomcat,那麼即使...

PHP5 APACHE2 2配置成功案例

phpinfo 4 執行http localhost test.php 如果成功,則應該看到乙個含有php徽標的網頁,其中包含大量設定和其他資訊 那麼恭喜你 備註 如果不能執行,使用傳統的模組化方法安裝php5.1.apache 2.2.2 後不能啟動,原因 php壓縮包裡的php5apache2....

PHP5 APACHE2 2配置成功案例

php5 apache2.2配置成功案例 phpinfo 4 執行http localhost test.php 如果成功,則應該看到乙個含有php徽標的網頁,其中包含大量設定和其他資訊 那麼恭喜你 備註 如果不能執行,使用傳統的模組化方法安裝php5.1.apache 2.2.2 後不能啟動,原因...