日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

apache與tomcat負(fù)載集群的3種方法

系統(tǒng) 3388 0

apache與tomcat負(fù)載集群集成方法有3種jk、jk_proxy、http_proxy
本次集成使用的軟件版本:

apache:httpd - 2.2 . 17 - win32 - x86 - no_ssl.msi
tomcat:apache
- tomcat - 6.0 . 20 .zip
jdk:jdk
- 6u14 - windows - i586.exe


本次測(cè)試是1個(gè)apache集成兩個(gè)tomcat。
安裝apache http server省略,訪問地址為http://127.0.0.1:8081
安裝tomcat,解壓apache-tomcat-6.0.20.zip,測(cè)試時(shí)我是把兩個(gè)tomcat分開放在不同的虛擬機(jī),其中一個(gè)是和apache同一臺(tái)虛擬機(jī)。
兩個(gè)tomcat分別命名為worker2和worker3
先說tomcat.worker2的配置:
server.xml
(1)配置http監(jiān)聽端口,這里端口設(shè)為8079,該步驟非必要,只要不沖突就行了。

< Connector? port ="8079" ?protocol ="HTTP/1.1" ?connectionTimeout ="20000" ?redirectPort ="8443" ? />


(2)配置AJP監(jiān)聽端口,這里端口設(shè)為8077,該步驟非必要,只要不沖突就行了。

< Connector? port ="8077" ?protocol ="AJP/1.3" ?redirectPort ="8443" ? />


(3)配置服務(wù)器標(biāo)識(shí),這里標(biāo)識(shí)名配置為:worker2,添加jvmRoute="worker2",該步驟必須。

< Engine? name ="Catalina" ?defaultHost ="localhost" ?jvmRoute ="worker2" >

在Engine節(jié)點(diǎn)啟用集群配置,只需去掉Cluster節(jié)點(diǎn)前的注釋就行了,該步驟必須,配置了集群才能實(shí)現(xiàn)Session復(fù)制,如果只有一個(gè)集群,只 按我下邊的配置就行了,如果多個(gè)集群,則不能按此配置,tomcat服務(wù)器內(nèi)的幫助文檔/docs/cluster-howto.html,/docs /config/cluster.html有介紹,需要的可以參考下。

< Engine? name ="Catalina" ?defaultHost ="localhost" ?jvmRoute ="worker2" >
???
< Cluster? className ="org.apache.catalina.ha.tcp.SimpleTcpCluster" /> ?


要實(shí)現(xiàn)session復(fù)制,還需要在context.xml添加屬性distributable="true",如下:

< Context? distributable ="true" >

如果不想在context.xml中添加distributable="true",還有另一方法是在應(yīng)用程序的web.xml中添加<distributeable/>,不過這方法我沒有測(cè)試。
配置完成,訪問地址為:http://127.0.0.1:8079

另一個(gè)tomcat.worker3的配置
server.xml

< Connector? port ="8078" ?protocol ="HTTP/1.1" ?connectionTimeout ="20000" ?redirectPort ="8443" ? />
< Connector? port ="9009" ?protocol ="AJP/1.3" ?redirectPort ="8443" ? />
< Engine? name ="Catalina" ?defaultHost ="localhost" ?jvmRoute ="worker3" >
???
< Cluster? className ="org.apache.catalina.ha.tcp.SimpleTcpCluster" />

context.xml配置tomcat.worker2一樣。
配置完成,訪問地址為:http://127.0.0.1:8078
注意:如果兩個(gè)tomcat是放在同一臺(tái)機(jī)內(nèi),server.xml可能還需要修改其它端口,請(qǐng)確認(rèn)兩個(gè)tomcat能正常啟動(dòng)。

在tomcat.worker2和tomcat.worker3的webapps文件夾添加同樣的測(cè)試文件test"test.jsp

< html >
< head >
??
< title > helloapp </ title >
</ head >
< body >
<%
System.out.println(
" call?test.jsp " );

%> ???
SessionID:?
<% = session.getId()? %> ??
</ body >
</ html >

訪問http://127.0.0.1:8078/test/test.jsp和http://127.0.0.1:8079/test/test.jsp,確保能成功訪問。

現(xiàn)在開始apache和tomcat的不同方式集成
1、jk方式集成
下載mod_jk-1.2.31-httpd-2.2.3.so,請(qǐng)下載合適的mod_jk版本,改名為mod_jk.so放進(jìn)modules文件夾內(nèi)
修改conf/httpd.conf配置

LoadModule?jk_module?modules/mod_jk.so
JkWorkersFile?conf/workers.properties
JkLogFile?logs/mod_jk.log
JkLogLevel?debug
JkMount??/*.do?loadbalancer
JkMount??/*.jsp?loadbalancer

增加conf/workers.properties文件,添加內(nèi)容

worker.list=loadbalancer
worker.worker2.port=8077???#ajp的監(jiān)聽端口
worker.worker2.host=108.88.3.105
worker.worker2.type=ajp13
worker.worker2.lbfactor=1
worker.worker3.port=9009
worker.worker3.host=127.0.0.1
worker.worker3.type=ajp13
worker.worker3.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=worker2,worker3?#這里在的worker2、worker3為需要與上邊tomcat設(shè)置的別名一致
worker.loadbalancer.sticky_session=1

配置完成任務(wù),訪問http://127.0.0.1:8081/test/test.jsp,檢查是否能正常訪問。

2、ajp_proxy
去掉httpd.conf文件中下面內(nèi)容的注釋(刪掉#號(hào)),開啟下邊的配置

Include?conf/extra/httpd-vhosts.conf
LoadModule?proxy_module?modules/mod_proxy.so
LoadModule?proxy_ajp_module?modules/mod_proxy_ajp.so
LoadModule?proxy_balancer_module?modules/mod_proxy_balancer.so
LoadModule?proxy_connect_module?modules/mod_proxy_connect.so
LoadModule?proxy_ftp_module?modules/mod_proxy_ftp.so
LoadModule?proxy_http_module?modules/mod_proxy_http.so

注意:
除了mod_proxy.so,mod_proxy_balancer.so,mod_proxy_connect.so
如果是采用ajp_proxy,需要加載mod_proxy_ajp.so這個(gè)模塊;
如果是采用http_proxy,需要加載mod_proxy_http.so這個(gè)模塊;

httpd.conf,刪除剛才jk方式的配置內(nèi)容,增加下邊的配置

ProxyRequests?Off
< proxy? balancer://loadbalancer > ?
BalancerMember?ajp://127.0.0.1:9009?loadfactor=1?route=worker3
BalancerMember?ajp://108.88.3.105:8077?loadfactor=1?route=worker2
</ proxy >

conf/extra/httpd-vhosts.conf增加配置

< VirtualHost? *:8081 >
?????????ServerAdmin?xxxx@xxx.com
?????????ServerName?localhost
?????????ServerAlias?localhost
?????????ProxyPass?/?balancer://loadbalancer/?stickysession=jsessionid?nofailover=On
?????????ProxyPassReverse?/?balancer://loadbalancer/
?????????ErrorLog?"logs/loadbalancer-error.log"
?????????CustomLog?"logs/loadbalancer-access.log"?common
</ VirtualHost >

配置完成任務(wù),訪問http://127.0.0.1:8081/test/test.jsp,檢查是否能正常訪問。

3、http_proxy
http_proxy的配置與ajp_proxy類似,修改方法2的httpd.conf配置如下,其它不變

ProxyRequests?Off
< proxy? balancer://loadbalancer > ?
BalancerMember?http://127.0.0.1:8078?loadfactor=1?route=worker3
BalancerMember?http://108.88.3.105:8079?loadfactor=1?route=worker2
</ proxy >

配置完成任務(wù),訪問http://127.0.0.1:8081/test/test.jsp,檢查是否能正常訪問。

apache與tomcat負(fù)載集群的3種方法


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 泰顺县| 萨嘎县| 临清市| 桃源县| 格尔木市| 天等县| 雷山县| 高唐县| 山东省| 牙克石市| 张北县| 田阳县| 通州市| 扎囊县| 儋州市| 宜兰市| 修水县| 潮州市| 华亭县| 肥东县| 冷水江市| 台湾省| 兴隆县| 法库县| 浦城县| 阜阳市| 昭平县| 马山县| 宣恩县| 江油市| 湘阴县| 泗水县| 佳木斯市| 兴文县| 松阳县| 清涧县| 都兰县| 渑池县| 河北省| 宣汉县| 肃宁县|