Apache-2.2

JBoss 和 Apache 負載平衡

  • September 22, 2010

我正在嘗試使用 Apache 負載平衡設置 JBoss 集群。基本上我已經按照這裡的指南進行操作。沒有遇到任何問題。我唯一的問題是,如何訪問我自己的應用程序?從指南中,它沒有提到我如何安裝自己的應用程序。

這是我的環境設置:

  • 視窗
  • JBoss AS 5.0
  • 阿帕奇 2.2.16
  • mod_jk 1.2.30

這是我的屬性設置:

httpf.conf

包括 conf/mod_jk.conf

mod_jk.conf

LoadModule jk_module 模組/mod_jk.so

JkWorkersFile conf/workers.properties

JkLogFile 日誌/mod_jk.log

JkLogLevel 資訊

JkLogStampFormat "

$$ %a %b %d %H:%M:%S %Y $$" JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories

JkRequestLogFormat “%w %V %T”

JkMount /application/* 負載均衡器

JkUnMount /application/images/* 負載均衡器

JkMountFile conf/uriworkermap.properties

JkShm文件執行/jk.shm

<Location /jkstatus> JkMount status Order deny,allow Deny from all Allow from 127.0.0.1 </Location>

workers.properties

worker.list=負載均衡器,狀態

worker.node1.port=8009

worker.node1.host=10.67.51.129

worker.node1.type=ajp13

worker.node1.lbfactor=1

worker.node1.prepost_timeout=10000 #如果使用ping_mode=A則不需要

worker.node1.connect_timeout=10000 #如果使用ping_mode=A則不需要

worker.node1.ping_mode=A #從 mod_jk 1.2.27 開始

worker.node2.port=8009

worker.node2.host=10.67.51.64

worker.node2.type=ajp13

worker.node2.lbfactor=1

worker.node2.prepost_timeout=10000 #如果使用ping_mode=A則不需要

worker.node2.connect_timeout=10000 #如果使用ping_mode=A則不需要

worker.node2.ping_mode=A #從 mod_jk 1.2.27 開始

worker.loadbalancer.type=lb

worker.loadbalancer.balance_workers=node1,node2

worker.status.type=狀態

uriworkermap.properties

/jmx-console=負載均衡器

/jmx-console/*=負載均衡器

/web-console=負載均衡器

/web-console/*=負載均衡器

/admin-console=負載均衡器

/admin-console/*=負載均衡器

/myapp/*=負載均衡器

!/myapp/images/*=負載均衡器

JBoss 中的server.xml

<Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">
<!-- A AJP 1.3 Connector on port 8009 -->
<Connector port="8009" address="${jboss.bind.address}"
 emptySessionPath="true" enableLookups="false" redirectPort="8443" 
 protocol="AJP/1.3" connectionTimeout="600000" maxThreads="200"/>

這就是我啟動 JBoss 的方式

比較1

run.bat -c all -g DefaultPartition -u 230.0.0.4 -b 10.67.51.129 -Djboss.messaging.ServerPeerID=1 -Djboss.service.binding.set=ports-default

比較2

run.bat -c all -g DefaultPartition -u 230.0.0.4 -b 10.67.51.64 -Djboss.messaging.ServerPeerID=2 -Djboss.service.binding.set=ports-01

我的應用程序名稱叫做 JBossDB。當我厭倦了訪問 10.67.51.129:8080/JBossDB 時,我可以啟動我的應用程序。但是如果我嘗試啟動 localhost/JBossDB 它不會載入。注意,我可以啟動 localhost/admin-console。

我希望我已經提供了所有必要的資訊。請幫幫我。謝謝

在您的 uriworkermap.properties 文件中,您似乎沒有 /JBossDB 的映射

引用自:https://serverfault.com/questions/183486