论坛首页 Java企业应用论坛

Apache+Tomcat集群配置

浏览 284902 次
精华帖 (6) :: 良好帖 (17) :: 新手帖 (3) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-29   最后修改:2011-04-29
carcar123 写道
charyle 写道
carcar123 写道
按你的方式试验了下,发现了一个问题

我用的httpd-2.2.17,tomcat-6.0.29

apache 1个, tomcat 3个( 2个本地,1个是虚拟机 )

。。。。。
请解析下,这是什么原因呢? 本地和远程session ID不一致


楼上的情况我也不清楚了,我的虚拟机中是XP的系统,sessionid也是相同的,但是您试过先启动Apache再启动Tomcat没?

再次感谢各位的赏光啊,我只是总结下Tomcat集群的Apache,目前也是应用层面而已,欢迎大家讨论共同进步。。。



首先:感谢楼主的热心回复,谢谢。
其次:不论启动顺序如何,结果都是一样,ID不同
最后:楼主是否可以解释下
worker.controller.sticky_session=false

worker.controller.sticky_session_force=1

这些参数的意思呢?

sessionID 不一样,意思是没有集成成功?

“worker.loadbalancer.sticky_session=true
此处指定集群是否需要会话复制,如果设为true,则表明为会话粘性,不进行会话复制,于是当某用户的请求第一次分发到哪台Tomcat后,后继的请求会一直分发到此Tomcat服务器上处理;如果设为false,则表明需求会话复制。
worker.loadbalancer.sticky_session_force=true
如果上面的sticky_session设为true时,建议此处也设为true,此参数表明如果集群中某台Tomcat服务器在多次请求没有响应后,是否将当前的请求,转发到其它Tomcat服务器上处理,这就会导致转发到其它Tomcat服务器上的请求,找不到原来的session,所以如果此时请求中有读取session中某些信息的话,就会导致应用的null异常”

这个网上可以搜到的,挺好理解的。

通常我们不用sessionID的,只要session中保存的变量可以复制就算是成功了吧。。。sessionID浏览器也会保存一份在cookies中的,判断是否一次会话,这样的话你的怎么可能不断刷新情况下只有访问到Tomcat3才id不同?。。

另外,您的session添加是怎么添的?我是不同的机器访问模拟的,本地访问然后虚拟机中浏览器访问。再做就要找其他机器或者用本机其他浏览器也可能行了
0 请登录后投票
   发表时间:2011-04-29  
在虚拟机中再增加一个tomcat 试试看
0 请登录后投票
   发表时间:2011-04-29  
楼主,去年我也是按照这个方法配置的,虽然出来了
但有1个问题,一直不明白, 如果上传图片来说,
3个tomcat 如何做到文件的同步,网上说有种配置
可以让其他2个tomcat读取1个tomcat的文件
但是这样的话,集群还有意义吗?
1 请登录后投票
   发表时间:2011-04-29  
终于有个写明白的文章
0 请登录后投票
   发表时间:2011-04-29  
又搞了几个小时,还是不成功

分发没问题,就是session不能同步!!! 真是郁闷
0 请登录后投票
   发表时间:2011-04-29  
carcar123 写道
又搞了几个小时,还是不成功

分发没问题,就是session不能同步!!! 真是郁闷

学习就是这样,遇到问题才能把东西学都更深入。换个其他都远程服务器环境,难道Linux下的问题?逐个排除吧。。。不行就休息,别影响假期,或许51回来就可以了。
0 请登录后投票
   发表时间:2011-04-29  
正打算写个这种的呢,写的很不错
0 请登录后投票
   发表时间:2011-04-29  
帮lz补充下吧。
如果失败注意下几个地方:

1、
workers.properties
文件里面 是不能用 //来注释的。把注释去掉

2、
不需要每个tomcat下面部署一个
在外面见一个文件夹例如:E:\apache_tomcat\App  然后把test工程放进去

<host></host>里面 加上 <Context path="" docBase="E:\apache_tomcat\App" debug="0"/> 指向上面的地址就行了

3、看下apache启动没有。 如果启动报错就修改
httpd.conf的 Change this to Listen on specific IP addresses as shown below to
下面的
Listen 8080
访问的时候加8080端口
0 请登录后投票
   发表时间:2011-04-29  
还有静态资源怎么处理??

我用的是spring mvc 控制器没有后缀名 所以指定路径的时候要指定静态资源的路径
而其他路径交给tomcat。
0 请登录后投票
   发表时间:2011-04-29  
静态资源问题找到了。。
http://blog.163.com/java_true/blog/static/1149595252010719115320908/
需要修改htdocs 到指定的目录才能找到资源文件
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics