最近做一项目,是数据监控的。就是把数据库某些的内容不断的展示在页面上。当然数据来自别的系统。我们这个小的监控系统只负责定期的把数据展示在页面上。
首先说下最近折腾的一些东西:为了这个蛋疼的小项目仔细的研究了quartz调度,apache tomcat集群,dwr reverseAjax反向推送,websphere集群的建立以及配置。在此记录下来,同时也供大家研究研究。
首先讲起apache tomcat集群:
1.准备工具: tomcat6.0(非安装版的) apache Server 2.2版本 (版本很重要)
2.安装apache server
下一步下一步很简单的。不过这一步我是这样填写的:
Network Domain:localhost Server Name :localhost Administrator's Email:这个随便输入了 只要是正确的地址就行。
一路next后。打开浏览器输入:http://localhost/ ;
如果出现此页面则apache server安装正确。
下面开始配置tomcat。复制三份, 由于我是在一台机器上部署的。所以呢每个tomcat的端口号都要不一样。如果你是分开部署就是说你有多个机器或者虚拟机就不用改端口号。
修改tomcat配置文件:打开tomcat1/conf/server.xml:
第一个要修改的地方:修改server这个端口号
第二个要修改的方法:修改Connector的端口号和redirectPort的端口号。
第三那个要修改的地方:修改connector的端口号。这个是AJP的端口号。主要用于和apache server进行通信。
第四个修改的地方:修改tomcat的实例名。每个tomcat的实例名不能重复。
第五配置tomcat的session。添加如下配置文件:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">
<!-- <Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> -->
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>
注意:address和第一个port必须保持一致。第二个port每个tomcat配置不一样。一次修改完后启动tomcat。看时候能正常启动:
当然前提是java环境配置要正确。
第六:修改apache server的配置:打开apache的安装文件下conf/httpd.conf:
去掉109-115之间的注释。
去掉第470行的注释:
在最后加入:
ProxyRequests Off
<proxy balancer://cluster>
</proxy>
注意红色标记部分和上面tomcat修改的AJP端口号以及tomcat别名必须一样。
关闭httpd.conf文件打开conf/extra/httpd-vhosts.conf文件在文件最后加入:
注意上述绿色部分必须一致。
至此完成所有的了配置。想每一个tomcat部署项目注意项目中web.xml要加入 <distributable/>来保证session复制一致性。
下面截图中项目来自于网络自己搜了一个稍微改了下。就是一个打印session ID和session中保存数值的网页。
关闭所有tomcat重启apache服务。
网页如下:如此可见来自于tomcat3的相应 。
手动关闭tomcat3。
刷新网页:
可见session保持一致。同时提交表单正确运行。
当然本次做集群是为后面quartz作业调度做准备以及dwr反向推送。
至此tomcat集群结束。当然tomcat中可以优化很多东西。详情参考: http://blog.csdn.net/lifetragedy/article/details/7698555通往架构师之路一系列文章。