国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
apache+Tomcat負(fù)載平衡設(shè)置詳解
一、簡介:

每個(gè)Tomcat worker是一個(gè)服務(wù)于web server、等待執(zhí)行servlet的Tomcat實(shí)例。例如我們經(jīng)常使用像Apache之類的web server轉(zhuǎn)發(fā)sevlet請求給位于其后面的一個(gè)Tomcat進(jìn)程(也就是前面所說的worker)。本文詳細(xì)介紹了如何配置各種類型worker和loadbalance,并說明了各種類型worker的特性和loadbalance配置的原理。

二、為什么使用Tomcat workers:

上文描述了一個(gè)非常簡單的結(jié)構(gòu),事實(shí)上能夠配置多個(gè)Tomcat workers來處理web server轉(zhuǎn)發(fā)的servlet請求。而這樣配置的理由不外乎以下幾種假想環(huán)境:
* 我們在開發(fā)環(huán)境中發(fā)布不同的Tomcat workers為各自不同的應(yīng)用服務(wù)。當(dāng)然在開發(fā)環(huán)境中的開發(fā)者共享同一個(gè)web server,但是每個(gè)Tomcat worke服務(wù)于擁有它的開發(fā)者。
* 我們在不同的Tomcat進(jìn)程上定義各自的虛擬主機(jī),這樣不同的公司可以使用各自的web site,從而使他們的web site得到了合理的分割。
* 我們提供負(fù)載平衡的web site,也就意味著同時(shí)使用多個(gè)Tomcat workers,而每個(gè)Tomcat worker具有獨(dú)立的主機(jī)并且在workers之間要分配通過web server轉(zhuǎn)發(fā)來的請求。
當(dāng)然,這些假想情況也許并不能涵蓋使用多個(gè)workers的所有狀況。

三、workers.properties配置說明:

定義Tomcat workers的方法是在apache的conf目錄下編寫一個(gè)名為“workers.properties”的屬性文件。本文將詳細(xì)解釋如何進(jìn)行配置的:

1.定義Workers列表:
定義workers的方法就是在apache的conf目錄下編寫一個(gè)workers.properties文件,使其作為apache的插件來發(fā)揮作用。
定義workers列表的格式:
worker.list =<使用“,”分割的worker 名字列表>
例如:

worker.list= worker1, worker2

當(dāng)apache啟動時(shí),workers.properties作為插件將初始化出現(xiàn)在worker.list列表中的workers。

2.定義Workers的類型:

每個(gè)被命名的worker都應(yīng)有一些關(guān)于其自身的附加信息。這些信息包括了worker的類型和其它相關(guān)信息。這里討論的是JK1.2.5中定義的workers類型。
定義worker類型的格式:
worker . worker名字. type =<worker類型>
worker名字的命名最好遵循java的命名規(guī)范。
worker類型取值于下面的表格:
定義一個(gè)名為“local”的worker,其使用ajpv12協(xié)議與Tomcat 進(jìn)程通訊:

worker.local.type=ajp12

定義一個(gè)名為“remote”的worker,其使用ajpv13協(xié)議與Tomcat 進(jìn)程通訊:

worker.remote.type=ajp13

定義一個(gè)名為“fast”的worker,其使用JNI的方式與Tomcat 進(jìn)程通訊:

worker.fast.type=jni

定義一個(gè)名為“loadbalancer”的worker,其作為對多個(gè)Tomcat 進(jìn)程的負(fù)載平衡使用:

worker.loadbalancer.type=lb

各個(gè)類型具有不同的行為,我們在下文中會詳細(xì)解釋。

3.設(shè)置Worker屬性:

在定義worker之后,還需要提供各個(gè)worker的屬性,這些屬性的定義使用下面的方式:
worker.<worker名字>.<屬性>=<屬性值>

3-1 ajp12類型的Worker屬性:.

ajp12類型的worker工作時(shí)使用基于TCP/IP socket的ajpv12協(xié)議轉(zhuǎn)發(fā)請求給“進(jìn)程外”Tomcat worker。
ajp12 worker屬性如下:
host:
偵聽ajp12請求的Tomcat worker主機(jī)。
port:
Tomcat worker主機(jī)的偵聽端口。
lbfactor:
當(dāng)此Tomcat worker被用于一個(gè)負(fù)載平衡worker使用時(shí),此屬性將被使用。它定義了此worker的負(fù)載平衡權(quán)值。
例如:下面的“worker1”定義了一個(gè)位于www.x.com主機(jī)上的Tomcat,它使用8007端口偵聽apache發(fā)來的請求,并具有2.5的負(fù)載權(quán)值

worker.worker1.host=www.x.com
worker.worker1.port=8007
worker.worker1.lbfactor=2.5

注意:在ajpv12協(xié)議中,針對每個(gè)請求都要一個(gè)連接建立、使用、關(guān)閉。其默認(rèn)偵聽端口為8007。

3-2 ajp13類型的Worker屬性:

ajp13類型的worker工作時(shí)使用基于TCP/IP socket的ajpv13協(xié)議轉(zhuǎn)發(fā)請求給“進(jìn)程外”Tomcat worker。
ajpv13協(xié)議與ajpv12協(xié)議的主要不同:
* ajpv13具有更豐富的二進(jìn)制協(xié)議,它使用將頻繁使用的字符串編碼為小整數(shù)的方式對請求數(shù)據(jù)進(jìn)行壓縮。
* ajpv13重用打開的socket并保留這些打開的socket以處理將來的請求。這在apache與Tomcat之間具有防火墻的網(wǎng)絡(luò)環(huán)境下是必要的。
* ajpv13具有對SSL信息的處理能力,以致容器能夠?qū)崿F(xiàn)SSL的相關(guān)方法(如isSecure())。


注意:ajp13當(dāng)前只能用于支持“進(jìn)程外”協(xié)議的Tomcat 4.0.x, 4.1.x and 5。
下表描述了ajp13worker接受的屬性:

host:
偵聽ajp13請求的Tomcat worker主機(jī)。

port:
Tomcat worker主機(jī)的偵聽端口。

lbfactor:
當(dāng)此Tomcat worker被用于一個(gè)負(fù)載平衡worker使用時(shí),此屬性將被使用。它定義了此worker的負(fù)載平衡權(quán)值。

cachesize:
當(dāng)在多線程的web server(例如apache2.0、IIS 、Netscape)中使用JK時(shí),此屬性是有效的。如果將cachesize的值設(shè)置為較高的值,這些支持多線程的web server將獲得很好的處理能力。如果此屬性不被設(shè)置,則連接cache特性將失效。

cache_timeout:
本屬性用于聲明JK在cache中保留一個(gè)打開的socket的時(shí)間,它對減少web serer的線程數(shù)有所幫助。
使用cache_timeout的原因:
周所周知,一個(gè)身背重負(fù)的web server(例如apache)建立childs/threads來處理負(fù)載,而當(dāng)負(fù)載減少時(shí)它將銷毀無用的childs/threads。每個(gè)child在轉(zhuǎn)發(fā)請求給Tomcat時(shí)要打開一個(gè)ajp13連接,而在Tomcat那一端也將建立一個(gè)ajp13線程與之通訊。但是問題出現(xiàn)在一個(gè)ajp13連接建立完成后,child沒有及時(shí)的釋放那個(gè)ajp13連接,由于web server1將保持它的childs/threads運(yùn)行已處理高負(fù)載,即使childs/threads處理快速的靜態(tài)內(nèi)容,在Tomcat端也將積累很多的無用ajp13線程。

socket_keepalive:
當(dāng)防火墻位于web server與Tomcat之間時(shí),防火墻將嘗試斷開未激活的網(wǎng)絡(luò)連接。此屬性將告訴操作系統(tǒng)在未激活的連接中發(fā)送KEEP_ALIVE信息(發(fā)送間隔時(shí)間依賴于操作系統(tǒng)的設(shè)置,一般為120秒),這樣將防止防火墻切斷未激活的網(wǎng)絡(luò)連接。
但此設(shè)置并不是萬能鑰匙,它對于某些防火墻也無能為力。

socket_timeout:
此屬性說明連接在未激活的狀況下持續(xù)多久,web server將主動切斷之。這是一個(gè)使Tomcat端的陳舊線程不致過多的好方法,但是也帶來了在下一次請求到來時(shí)需要重新打開socket的開銷。此屬性與cache_timeout有類似的功效,但是它工作在non-cache模式。

connect_timeout:
web server在連接建立后將一個(gè)PING請求發(fā)送到ajp13協(xié)議的連接上。 此屬性說明了web server等待PONG回應(yīng)的時(shí)間(以ms為單位)。此屬性在jk 1.2.6版本被增加進(jìn)來,以求避免Tomcat的死機(jī),Tomcat 3.3.2+, 4.1.28+ and 5.0.13+實(shí)現(xiàn)了對使用ajp13的 ping/pong的支持。此屬性默認(rèn)為失效的。

prepost_timeout:
web server在轉(zhuǎn)發(fā)一個(gè)請求后將一個(gè)PING請求發(fā)送到ajp13協(xié)議的連接上。此屬性說明了web server等待PONG回應(yīng)的時(shí)間(以ms為單位)。此屬性在jk 1.2.6版本被增加進(jìn)來,以求避免Tomcat的死機(jī),Tomcat 3.3.2+, 4.1.28+ and 5.0.13+實(shí)現(xiàn)了對使用ajp13的 ping/pong的支持。此屬性默認(rèn)為失效的。

reply_timeout:
此屬性告訴web server在接到遠(yuǎn)端的Tomcat已死并實(shí)時(shí)的切換到集群中的另外一個(gè)Tomcat的回應(yīng)之前等待一段時(shí)間。默認(rèn)情況下web server將永遠(yuǎn)等待。屬性值為web server要等待回應(yīng)的時(shí)間(以ms為單位),所以如果具有運(yùn)行時(shí)間較長的servlet時(shí)設(shè)置其值要小心。此屬性在jk 1.2.6版本被增加進(jìn)來,以求避免Tomcat的死機(jī)和在支持ajp13的servlet引擎上發(fā)生的問題。此屬性默認(rèn)為失效的。

recovery_options:
此屬性說明了web server在檢測到Tomcat失敗后如何進(jìn)行恢復(fù)工作。默認(rèn)情況下,web server將轉(zhuǎn)發(fā)請求給處于負(fù)載平衡模式中的另一個(gè)Tomcat。屬性值為0,說明全部恢復(fù);屬性值為1,說明如果在Tomcat接到請求后出現(xiàn)失敗狀況,則不進(jìn)行恢復(fù);屬性值為2,說明如果在Tomcat發(fā)送http頭給客戶端后出現(xiàn)失敗狀況,則不進(jìn)行恢復(fù);屬性值為3,說明如果在Tomcat接到請求后出現(xiàn)失敗狀況或者在Tomcat發(fā)送http頭給客戶端后出現(xiàn)失敗狀況,則不進(jìn)行恢復(fù)。此屬性在jk 1.2.6版本被增加進(jìn)來,以求避免Tomcat的死機(jī)和在支持ajp13的servlet引擎上發(fā)生的問題。此屬性默認(rèn)為全部恢復(fù)。

例如:一個(gè)名為“worker2”的worker的配置:

worker.worker2.host=www2.x.com
worker.worker2.port=8009
worker.worker2.lbfactor=3.5
worker.worker2.cachesize=10
worker.worker2.cache_timeout=600
worker.worker2.socket_keepalive=1
worker "worker2" want ajp13 connection to be dropped after 5mn (timeout)
worker.worker2.socket_timeout=300


說明:上例中的worker要求操作系統(tǒng)在連接上發(fā)送KEEP-ALIVE信號。
注意:在ajpv13協(xié)議中默認(rèn)端口為8009。

4.設(shè)置lb Worker屬性:
負(fù)載平衡類型的worker并不與Tomcat worker通訊,它負(fù)責(zé)管理這些Tomcat worker。

其管理范圍如下:
* 初始化在web server的worker列表中定義的worker。
* 使用worker的負(fù)載平衡權(quán)值,執(zhí)行基于權(quán)值的負(fù)載平衡,將數(shù)量多的請求發(fā)送到負(fù)載平衡權(quán)值高(在web server看來就是更加健壯的)的worker。
* 維護(hù)在同一個(gè)Tomcat worker上的同一個(gè)session的請求,使其發(fā)送到同一個(gè)Tomcat worker上。以達(dá)到Tomcat worker上的session一致性、持續(xù)性。
* 標(biāo)識已經(jīng)失敗的Tomcat workers,懸空發(fā)向它們的請求,在被lb worker管理的其它workers上尋找可以失敗恢復(fù)的worker。
被同一個(gè)lb worker管理多個(gè)worker之間的負(fù)載平衡的(基于它們的lbfactor和當(dāng)前用戶session),也可以盡量避免由于單一的Tomcat進(jìn)程死掉而造成這個(gè)網(wǎng)站被“殺”的不良反應(yīng)。
下表說明了lb worker接受的屬性:
* balanced_workers:一個(gè)由“,”分割的worker列表,用來聲明lb worker需要被管理的workers。這些workers不應(yīng)出現(xiàn)在worker.list屬性中。
* sticky_session:表述是否將對SESSION ID的請求路由回到相同的Tomcat worker。如果屬性值不為0,它將被設(shè)置為JK_TRUE,session將是粘性的,即SESSION ID的請求路由回到相同的Tomcat worker;當(dāng)Tomcat正使用能夠跨越多個(gè)Tomcat實(shí)例持久化session數(shù)據(jù)的Session Manager時(shí),它將被設(shè)置為JK_FALSE。屬性默認(rèn)值為JK_TRUE。
例如:worker balance1管理著兩個(gè)workers:worker1、worker2:

worker.balance1.balanced_workers=worker1, worker2


5.高級lb Worker屬性:

JK 1.2.x版本通過增加兩個(gè)新的屬性:local_worker_only 和 local_worker 為lb worker增添了新的負(fù)載平衡和容錯(cuò)支持。
下面讓我們舉一個(gè)實(shí)際的環(huán)境作為example:
一個(gè)集群具有兩個(gè)節(jié)點(diǎn)(worker1+worker2),一個(gè)web server與tomcat workers一前一后,一個(gè)負(fù)載平衡器(lb Worker)位于節(jié)點(diǎn)的前面、web server的后面。
配置如下:

worker.list=router
# Define a ‘local_worker‘ worker using ajp13
worker.worker1.port=8009
worker.worker1.host=node1.domain.org
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
worker.worker1.local_worker=1
# Define another ‘local_worker‘ worker using ajp13
worker.worker2.port=8009
worker.worker2.host=node2.domain.org
worker.worker2.type=ajp13
worker.worker2.lbfactor=1
worker.worker2.local_worker=0
# Define the LB worker
worker.router.type=lb
worker.router.balanced_workers=worker1,worker2
worker.router.local_worker_only=1


在worker1和worker2上的local_worker標(biāo)志告訴lb_worker哪個(gè)連接屬于本地worker。

如果local_worker值為非0,則它將被設(shè)置為JK_TRUE,用來標(biāo)記“local worker”,而JK_FALSE的情況則相反。如果至少一個(gè)worker被標(biāo)記為local worker,則lb_worker將工作于local worker模式。這種模式下,所有的local workers將被移到在lb_worker中的內(nèi)部worker列表的頭部。

這意味著一個(gè)帶有session id的請求到達(dá)lb_worker時(shí),相應(yīng)的worker(根據(jù)權(quán)值排序,權(quán)值最大的那個(gè)worker)將被確定作為此請求的接受/處理者。如果這個(gè)worker死掉/當(dāng)機(jī),請求將被發(fā)送到處于非錯(cuò)誤狀態(tài)的第一個(gè)local worker;如果一個(gè)沒有session id的請求到達(dá)lb_worker時(shí),此請求將被路由到第一個(gè)local worker。如果所有的local worker均處于錯(cuò)誤狀態(tài),則這時(shí)“local_worker_only”標(biāo)志顯得尤其重要。如果local_worker_only的屬性值為非0,則它被設(shè)置為 JK_TRUE,否則被設(shè)置為 JK_FALSE。當(dāng)它被設(shè)置為 JK_TRUE時(shí),這個(gè)沒有session id的請求將得到一個(gè)錯(cuò)誤作為回應(yīng),否則lb_worker將嘗試將請求路由到其它的被管理的worker上。如果其中的一個(gè)worker處于錯(cuò)誤狀態(tài),并且恢復(fù)會話的工作并沒有任何改變,local worker將查找這個(gè)沒有session id的請求(因?yàn)樵趌ocal worker中保存有這個(gè)請求的session),而其它的worker只能查找?guī)в衧ession id的請求。

注意:local_worker默認(rèn)值是0,local_worker_only默認(rèn)值也是0。

6.為什么需要這么復(fù)雜的過程嗎?

因?yàn)槲覀儗τ谝粋€(gè)關(guān)閉的節(jié)點(diǎn)需要一個(gè)具有靈性的維護(hù)。
在節(jié)點(diǎn)前面的平衡器周期性的對每個(gè)節(jié)點(diǎn)的特定端口進(jìn)行查詢。如果我們從集群中移走一個(gè)節(jié)點(diǎn),我們就會隱性的關(guān)閉掉這個(gè)特定的端口。由于負(fù)載平衡器不能連接它,這個(gè)節(jié)點(diǎn)將被標(biāo)記為down。但是我們沒有移動在那個(gè)關(guān)閉的節(jié)點(diǎn)上的session到其它的節(jié)點(diǎn)上。在這個(gè)環(huán)境下,如果平衡器發(fā)送一個(gè)沒有session id的請求到一個(gè)端口被關(guān)掉的節(jié)點(diǎn),那么一個(gè)錯(cuò)誤將發(fā)生。如果平衡器測試到一個(gè)節(jié)點(diǎn)被標(biāo)記為down的狀態(tài),而沒有其它的節(jié)點(diǎn)允許發(fā)送沒有session id的請求。這樣這些陳舊的session請求就只有路由到那個(gè)被關(guān)閉的節(jié)點(diǎn)才能被接受。在一段時(shí)間后,這些陳舊的session將超時(shí)。由于所有的陳舊的session過期,那個(gè)不可達(dá)(被關(guān)閉)的節(jié)點(diǎn)將失去這個(gè)請求。同時(shí)也會導(dǎo)致我們的servlet系統(tǒng)發(fā)送一個(gè)沒有session id的重定向回應(yīng)給瀏覽器。

但是可能被關(guān)閉的節(jié)點(diǎn)將會up,重新加入到集群中來,在它上面仍將保留著陳舊的session。所以在最后一個(gè)session超時(shí)后,更新節(jié)點(diǎn)能夠?yàn)殛惻f的session的恢復(fù)帶來希望,而不是殺掉sessions或者把它們移到其它節(jié)點(diǎn)上。而且有時(shí)如果那些陳舊的session中有許多big的對象,那么移動它們也將花費(fèi)許多時(shí)間。

7.jni類型的Worker屬性:

jni worker會在web server進(jìn)程中打開一個(gè)JVM,并在其中執(zhí)行Tomcat,這叫做“進(jìn)程內(nèi)”worker。來往于JVM的消息將通過調(diào)用JNI方法被傳遞,這使jni worker比那些需要使用ajp消息通訊的“進(jìn)程外”worker執(zhí)行的更快。

注意:由于JVM是多線程的,jni worker應(yīng)該只被用于在支持對線程的web server(AOLServer, IIS, Netscape and Apache 2.0)上。同時(shí)還應(yīng)該確認(rèn)在web server上使用的線程方案是否與被使用的JK web server插件相匹配。

由于jni worker 打開了一個(gè)JVM,它將接受一些屬性(例如classpath等)并將其傳遞給JVM:
worker.worker名.class_path:“進(jìn)程內(nèi)”的JVM要使用的classpath。它將包括所有的Tomcat的jar文件和class、配置文件等。

為了獲得JSP編譯器的支持,我們需要將Javac添加到classpath中。當(dāng)然對于Java2需要添加tools.jar到classpath,而對于JDK1.xx則要添加classes.zip到classpath。

worker.worker名.class_path:用于以多行的形式聲明多個(gè)classpath。JK環(huán)境將用“:”或者“;”把這些classpath;連接起來。

例如:給名為“wrkjni”的worker設(shè)置classpath。


worker.wrkjni.class_path=/var/tomcat3/lib/tomcat.jar
worker.wrkjni.class_path=/opt/IBMJava2-131/lib/tools.jar


worker.worker名.bridge:用于標(biāo)識將通過JNI方式被使用的Tomcat的類型。此屬性目前有兩個(gè)屬性值:tomcat32 or tomcat33。Tomcat 3.2.x雖然已經(jīng)過時(shí),但是被提供用于發(fā)布在一些類似iSeries系統(tǒng)上。此屬性的默認(rèn)值為tomcat33。
例如:給“wrkjni”設(shè)置bridge類型為tomcat3.3。


worker.wrkjni.bridge=tomcat33


worker.worker名.cmd_line: 此屬性提供了在Tomcat啟動代碼執(zhí)行的命令行。使用時(shí)將命令行的命令、參數(shù)分解為多個(gè)cmd_line屬性。JK環(huán)境通過在各個(gè)cmd_line屬性值之間添加空格將這些cmd_line連接在一起。
例如:設(shè)置“wrkjni”的cmd_line屬性。


worker.wrkjni.cmd_line=-config
worker.wrkjni.cmd_line=/etc/tomcat3/conf/alt-server.xml
worker.wrkjni.cmd_line=-home
worker.wrkjni.cmd_line=/var/tomcat3


上面例子中的第一行聲明了-config參數(shù)名,而第二行聲明了與之對應(yīng)的參數(shù)值。第三行與第四行同理。

worker.worker名.jvm_lib:用于聲明JVM的實(shí)現(xiàn)庫的完整路徑。Jni worker使用這個(gè)路徑動態(tài)裝載JVM。
例如:設(shè)置“wrkjni”的JVM shared lib (IBM SDK on Linux)。

worker.wrkjni.jvm_lib=/opt/IBMJava2-131/jre/bin/classic/libjvm.so

例如:設(shè)置“wrkjni”的JVM shared lib (Sun SDK on Windows)。

worker.wrkjni.jvm_lib=c:\JDK\1.3.1\jre\bin\classic

worker.worker名.stdout:設(shè)置JVM寫它的System.out的完整路徑位置。
例如:將“wrkjni”的JVM系統(tǒng)輸出路徑設(shè)置為/var/log/http/jk-jvm-out.log。

worker.wrkjni.stdout=/var/log/http/jk-jvm-out.log

worker.worker名.stderr:設(shè)置JVM寫它的System.err的完整路徑位置。
例如:將“wrkjni”的JVM系統(tǒng)錯(cuò)誤輸出路徑設(shè)置為/var/log/http/jk-jvm-err.log

worker.wrkjni.stderr=/var/log/http/jk-jvm-out.log

worker.worker名.ms:設(shè)置JVM的初始堆大小。
例如:設(shè)置“wrkjni”的JVM的初始堆為64M。

worker.wrkjni.ms=64


worker.worker名.mx:設(shè)置JVM的最大的堆大小。
例如:設(shè)置“wrkjni”的JVM堆最大為128M

worker.wrkjni.mx=128


worker.worker名.sysprops:設(shè)置JVM的系統(tǒng)屬性。
例如:設(shè)置“wrkjni”的JVM使用法語。

worker.wrkjni.sysprops=-Duser.region=FR


worker.worker名.ld_path:設(shè)置附加的動態(tài)鏈接庫路徑(類似于LD_LIBRARY_PATH)
例如:添加一些動態(tài)鏈接庫路徑到“wrkjni”的java環(huán)境中。

worker.wrkjni.ld_path=/opt/IBMJava2-131/jre/bin/
worker.wrkjni.ld_path=/opt/IBMJava2-131/jre/bin/classic


注意:在Linux下,上面的ld_path并不能更新LD_LIBRARY_PATH,所以需要在執(zhí)行web server之前手動更新LD_LIBRARY_PATH,。

8.屬性文件宏:

我們可以在屬性文件中定義“宏”。這些宏讓我們定義屬性,并在以后使用它們來構(gòu)建其它的屬性文件。當(dāng)我們修改Java Home、Tomcat Home、系統(tǒng)路徑分隔符時(shí)這是很有用的。
例如:定義了屬性workers.tomcat_home、workers.java_home。

workers.tomcat_home=d:\tomcat
workers.java_home=d:\sdk\jdk1.2.2

在定義worker.inprocess.class_path時(shí)就可以使用前面定義的workers.tomcat_home。

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes



9.一個(gè)簡單而完整的worker.properties:

文件中定義了比較完整的結(jié)構(gòu),可以做為參考模版:
* 一個(gè)位于localhost的使用8007端口的ajp12 worker;
    * 一個(gè)位于localhost的使用8008端口的ajp13 worker;
    * 一個(gè)jni worker;
    *  一個(gè)lb worker:負(fù)責(zé)ajp12 worker、ajp13 workers的負(fù)載平衡。
文件內(nèi)容如下:

# Define some properties
workers.apache_log=/var/log/httpd/
workers.tomcat_home=/var/tomcat3
workers.java_home=/opt/IBMJava2-131/
ps=/
# Define 4 workers, 3 real workers using ajp12, ajp13, jni, the last one being a loadbalancing worker
worker.list=worker1, worker2, worker3, worker4
# Set properties for worker1 (ajp12)
worker.worker1.type=ajp12
worker.worker1.host=locahost
worker.worker1.port=8007
worker.worker1.lbfactor=5
# Set properties for worker2 (ajp13)
worker.worker2.type=ajp13
worker.worker2.host=locahost
worker.worker2.port=8009
worker.worker2.lbfactor=50
worker.worker2.cachesize=10
worker.worker2.cache_timeout=600
worker.worker2.socket_keepalive=1
worker.worker2.socket_timeout=300
# Set properties for worker3 (jni)
worker.worker3.type=jni
# Set worker3 bridge type, here Tomcat 3.3
worker.worker3.bridge=tomcat33
# Set worker3 classpath
worker.worker3.class_path=$(workers.tomcat_home)$(ps)classes
worker.worker3.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
# Set worker3 tomcat command line
worker.worker3.cmd_line=-home
worker.worker3.cmd_line=$(workers.tomcat_home)
# Set worker3 Tomcat/JVM settings
worker.worker3.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)libjvm.so
worker.worker3.stdout=$(workers.apache_log)$(ps)inprocess.stdout
worker.worker3.stderr=$(workers.apache_log)$(ps)inprocess.stderr
worker.worker3.sysprops=tomcat.home=$(workers.tomcat_home)
# Set properties for worker4 (lb) which use worker1 and worker2
worker.worker4.balanced_workers=worker1,worker2


10.參加matrix討論:
討論地址:http://www.matrix.org.cn/thread.shtml?topicId=31781&forumId=17

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
workers.properties說明
Apache和Tomcat的整合,原理及例子 --copy liang blog - sizhefang - JavaEye技術(shù)網(wǎng)站
tomcat集群(共享session)
輕松實(shí)現(xiàn)Apache Tomcat集群和負(fù)載均衡
基于Apache的Tomcat負(fù)載均衡和集群
Tomcat集群,搞定了!
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服