3.1.2 配置tomcat
同属于一个集群下的两个服务实体,要求功能的同一性,所以我们可先安装和配置第一个tomcat,接着拷贝形成第二个tomcat,最后配置第二个tomcat。
安装tomcat 非常简单,本文就不再描述。我们假设第一个tomcat的安装路径为d:\\tomcat1。 配置第一个tomcat:
tomcat 中的jk2 connector缺省端口为8009,为了在一台机器上运行两个tomcat,修改D:\\Tomcat1\\conf\\jk2.properties,设置jk2 connector的端口为11009,整个文件内容如下: [html] view plaincopy #++++++++++++++
channelSocket.port=11009 #++++++++++++++
为了让一台机器上运行两个tomcat,修改server.conf的tomcat 停止指令监听端口:
[html] view plaincopy
[html] view plaincopy 然后打开JK2 AJP connector ,关闭其它connector,下面是JK2 AJP 1.3的样子,这里已把它的端口改为11009: [html] view plaincopy className=\ port=\enableLookups=\ redirectPort=\connectionTimeout=\ useURIValidationHack=\ protocolHandlerClassName=\/> 接着配置需要集群支持的webapp(比如examples) 的context,添加如下manager: [html] view plaincopy className=\r\ protocolStack=\;ip_ttl=32):PING(timeout=3000; num_initial_members=6):FD(timeout=5000):VERIFY_SUSPECT(timeout=1500): pbcast.STABLE(desired_avg_gossip=10000):pbcast.NAKACK(gc_lag=10; retransmit_timeout=3000):UNICAST(timeout=5000;min_wait_time=2000): MERGE2:FRAG:pbcast.GMS(join_timeout=5000;join_retry_timeout=2000; shun=false;print_local_addr=false)\ 注意protocolStack的值必须在一行内写完。 配置第二个tomcat: 把已经配好的第一个tomcat复制一份,形成第二个tomcat,假设路径为d:\\tomcat2。 修改D:\\Tomcat2\\conf\\jk2.properties,设置jk2 connector的端口12009,整个文件内容如下: [html] view plaincopy #++++++++++++++ channelSocket.port=12009 #++++++++++++++ 修改server.conf 有了第一个tomcat的配置我们只需修改server.conf的tomcat 停止指令监听端口: 启动apache,tomcat1和tomcat2。 我们先准备两个文件,第一个文件为test.jsp,拷贝到第一个tomcat 的根web应用的目录即d:\\tomcat1\\webapps\\ROOT 下: [html] view plaincopy <%= request.getSession().getId() %> 第二个文件也为test.jsp,拷贝到第二个tomcat 的根web应用的目录即d:\\tomcat2\\webapps\\ROOT 下: [html] view plaincopy <%= request.getSession().getId() %> Tomcat 1
Tomcat 2
从不同的浏览器中多次输入地址http://localhost/test.jsp 会看到不同的颜色,这表明apache中的jk2模块起到了负载均衡的作用。 4 容量计划
容量计划是在生产环境中使用Tomcat不得不提的提高性能的另一个重要的话题。如果你没有对预期的网络流量下的硬件和带宽做考虑的话那么无论你如何做配置修改和测试都无济于事。
这里先对提及的容量计划作一个简要的定义:容量计划是指评估硬件、操作系统和网络带宽,确定应用服务的服务范围,寻求适合需求和软件特性的软硬件的一项活动。因此这里所说的软件不仅包括Tomcat,也包括与Tomcat结合使用的任何第三方web服务器软件。
如果在购买软硬件或部署系统前你对容量计划一无所知,不知道现有的软硬件环境能够支撑多少的访问量,甚至更糟直到你已经交付并且在生产环境上部署产品后才意识到配置有问题时再进行变更可能为时已晚。此时只能增加硬件投入,增加硬盘容量甚至购买更好的服务器。如果事先做了容量计划那么就不会搞的如此焦头烂额了。
我们这里只介绍与Tomcat相关的内容。
首先为了确定Tomcat使用机器的容量计划,你应该从一下列表项目种着手研究和计划: 4.1.1 硬件
采用什么样的硬件体系?需要多少台计算机?使用一个大型的,还是使用多台小型机?每个计算机上使用几个CPU?使用多少内存?使用什么样的存储设备,