jboss和apache的集群配置(2)

<o:p></o:p>
       JBossWeb 集群使用 apachemod_jk ,浏览器请求 apache 服务器, apache 服务器根据 workers.properties 中的配置进行 request 分发, apache 服务器和 Jboss 中的 Tomcat 可以用 ajp1.3 进行通信的, request 通过 ajp1.3 协议的包装被发送到 JbossJboss 执行后返回结果。 <o:p></o:p>
         将下载到的 mod_jk-apache-<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.0.59</st1:chsdate>.so 保存到 %Apache%\modules\ 目录下,并去掉版本号重命名为 “mod_jk.so” ,如果不改也可以在 mod-jk.conf 文件(稍后介绍)里修改配置。 <o:p></o:p>
   %Apache%\conf\ 目录下新建 mod-jk2.conf ,并将如下代码添加进去: <o:p></o:p>
LoadModule jk_module modules/mod_jk-apache-<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.0.59</st1:chsdate>.so
JkWorkersFile conf/workers2.properties
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
JkMount /* loadbalancer
#apache will serve the static picture.
# 以下命令意味着所有的图片将由 APACHE 解析
JkUnMount /*.jpg loadbalancer 
JkUnMount /*.gif loadbalancer
JkUnMount /*.swf loadbalancer
JkUnMount /*.bmp loadbalancer
JkUnMount /*.png loadbalancer
上述代码的第 1 行就是配置 mod_jk-apache-<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.0.59</st1:chsdate>.so 模块的路径。 <o:p></o:p>
在上述配置中,是配置所有图片由 APACHE 来解析,因此我们需要将项目中的所有图片均拷贝到 $APACHE-HOME/htdocs/ 下,如果你的部署的项目 ( 应用 ) ,在访问时需要输入前缀 ,http://www.DDD.com/mxidea/login.do ,则请注意,在 $APACHE-HOME/htdocs/ 下需要建一个目录“ mxidea, 然后按照你项目中图片所在的路径,连同路径中所有目录一并考入 mxidea 目录,例如你的图片位于 …./ mxidea.war/images/1.jpg, 那么为了 APACHE 能找到图片,则你在 APACHE 中的图片位置应是 $APACHE-HOME/htdocs/mxidea/images/1.jpg<o:p></o:p>
<o:p> </o:p>
    编辑 %Apache%\conf\httpd.conf 在最后一行添加如下代码: <o:p></o:p>
Include conf/mod-jk.conf<o:p></o:p>
  %Apache%\conf\ 目录下添加 workers.properties 文件,该文件就是配置 Apache 所要将 request 转发到的 JBoss 的路径信息,代码如下: <o:p></o:p>
# 以下为 workers2.propertie 的内容
worker.list=loadbalancer,node1,node2
# Define the first node...
worker.node1.port=8009
worker.node1.host=<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">10.17.34</st1:chsdate>.16
worker.node1.type=ajp13
worker.node1.lbfactor=1
#worker.node1.local_worker=1
worker.node1.cachesize=100
# Define the 2nd node...
worker.node2.port=8009
worker.node2.host=<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">10.17.34</st1:chsdate>.19
worker.node2.type=ajp13
worker.node2.lbfactor=1
#worker.node1.local_worker=1
worker.node1.cachesize=100
# Now we define the load-balancing behaviour
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=node1,node2
worker.loadbalancer.sticky_session=1
   说明: worker.loadbalancer.sticky_session=1 参数的设定,意味着一旦用户通过 APACHE 连接到某台 JBOSS SERVER( 创建了 session) ,则只要在该台 JBOSS 服务正常的情况下,该用户所有的请求都将会发送至该 JBOSS SERVER port 是配置 JBoss AJP 所监听的端口号,可以在 %JBoss_Home%\server\default\deploy\jbossweb-tomcat55.sar\server.xml  看到,如下 <o:p></o:p>
1 <v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 8.25pt; HEIGHT: 12pt" alt="" type="#_x0000_t75"><v:imagedata o:href="http://www.blogjava.net/Images/OutliningIndicators/None.gif" src="file:///C:\DOCUME~1\HEWENQ~1\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"></v:imagedata></v:shape> <!-- A AJP 1.3 Connector on port 8009 -->
2 <v:shape id="_x0000_i1026" style="WIDTH: 8.25pt; HEIGHT: 12pt" alt="" type="#_x0000_t75"> <v:imagedata o:href="http://www.blogjava.net/Images/OutliningIndicators/None.gif" src="file:///C:\DOCUME~1\HEWENQ~1\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"></v:imagedata></v:shape> < Connector  port ="8009"  address ="${jboss.bind.address}"  
3 <v:shape id="_x0000_i1027" style="WIDTH: 8.25pt; HEIGHT: 12pt" alt="" type="#_x0000_t75"> <v:imagedata o:href="http://www.blogjava.net/Images/OutliningIndicators/None.gif" src="file:///C:\DOCUME~1\HEWENQ~1\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"></v:imagedata></v:shape>         emptySessionPath ="true"  enableLookups ="false"
4 <v:shape id="_x0000_i1028" style="WIDTH: 8.25pt; HEIGHT: 12pt" alt="" type="#_x0000_t75"> <v:imagedata o:href="http://www.blogjava.net/Images/OutliningIndicators/None.gif" src="file:///C:\DOCUME~1\HEWENQ~1\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"></v:imagedata></v:shape>         redirectPort ="8443"  protocol ="AJP/1.3"/>
   host 定义 JBoss 所在机器的 IP 地址 <o:p></o:p>
   lbfactor 定义该节点的权重,数字越大分发到该节点的 request 越多 <o:p></o:p>
   cachesizeservlet 线程池的大小(对 session 复制有影响) <o:p></o:p>
    到这里所有的配置就全部完成啦 <o:p></o:p>
    启动 192.168.0.2 上的 apache 和两台机器上的 JBoss<o:p></o:p>
    打开浏览器,输入网址访问 apachehttp://<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">10.17.34</st1:chsdate>.19 /index.jsp ,回车!看到了吧?
   
页面上有 JBoss 所在机器的 IP 地址,刷新页面还能看到 IP 在变化,说明 apacherequest 分发到          了不同的 JBoss 上,在输入框中输入随便一个字符串并提交还能测试 JBoss session 复制情况。 <o:p></o:p>
<o:p> </o:p>
Apache 安装及 jboss 部署说明文档,非常感谢。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值