`

jboss和apache的集群配置(2)

    博客分类:
  • Java
阅读更多
<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部署说明文档,非常感谢。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics