一台计算机部署多个Tomcat服务器
一个tomcat部署多个项目并通过不同的端口访问

一个tomcat部署多个项目并通过不同的端口访问第一步:修改 $TOMCAT_HOME\conf\server.xml文件。
复制Service节点,去掉<Connector port="8009"...这个节点新增Service节点的name属性依次修改为Catalina1、Catalina2……新增Service节点的Connector节点port属性依次修改为8001、8002……(根据机器配置未占用端口,这里按顺序为方便)新增Service节点的Host节点appBase属性依次修改为webapps1、webapps2……下面是新增两个Service节点的配置:具体配置代码如下:<Service name="Catalina1"><Connector port="8081" maxHttpHeaderSize="8192"maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLo okups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" di sableUploadTimeout="true" /><Engine name="Catalina1" defaultHost="localhost"><Realm className="erDatabaseRealm" resourceName ="UserDatabase"/><Host name="localhost" appBase="webapps1" unpackW ARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"> </Host></Engine></Service><Service name="Catalina2"><Connector port="8082" maxHttpHeaderSize="8192"maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLo okups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" di sableUploadTimeout="true" /><Engine name="Catalina2" defaultHost="localhost"><Realm className="erDatabaseRealm" resourceName ="UserDatabase"/><Host name="localhost" appBase="webapps2" unpackW ARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"></Host></Engine></Service>第二步:在$TOMCAT_HOME目录下新建文件夹webapps1、webapps2……(目录里包含ROOT子目录),里面分别放不同项目(测试只就简单复制$TOMCAT_HOME\webapps\ROOT 目录)第三步:复制$TOMCAT_HOME\confi目录下的Catalina生成多个副本,并依次命名为Catalina1、Catalina2……第四步:启动Tomcat测试第五步:浏览器中一次访问不同端口为了证明是三个不同的项目,我修改了标题分别一第一个、第二个、第三个。
网络应用程序的负载平衡问题

网络应用程序的负载平衡问题摘要:在现今网络时代,通过网络寻找信息的需求量越来越大,在网络节点上的服务器需要有相当的负载能力,而且越来越多的情况下还需要通过几台服务器来共同完成对需要的应答任务。
介绍了一种多服务器共同负载并平衡工作的技术——负载平衡。
首先概要性地描述了负载平衡的原理,并按照软件应用的执行过程,从软件层次至硬件平台,自上而下的顺序将常见的负载平衡方法分为软件级负载平衡、网络级负载平衡、硬件级负载平衡,并简明扼要地说明了各种负载平衡的使用范围、实现代价、可扩展性与及总体优缺点。
关键词:负载平衡;DNS Apache/Tomcat;网络应用;会话状态管理1问题的提出网络应用建立在网络服务器(Web Server)上,供客户端(Web Client)连接访问,服务器接收到客户端请求后处理业务逻辑,在此阶段网络应用通常会访问数据库,然后组成相应网络应答(Response)返回给客户端。
如果只架设一台网络服务器,在客户数量较少,请求不繁忙的情况下系统能够满足需求,当客户数量骤增,单个客户的请求也相应变多时,一台服务器就不能满足实时处理需求,就会造成系统速度减慢,客户抱怨,甚至系统崩溃。
另一方面,如果只有一台服务器提供服务,一旦该服务器瘫痪或者进行关闭维护,则整个系统就不能提供服务。
第一个问题反映的是网络应用的可扩展性需求,第二个问题反映的是网络应用的冗余可靠性要求。
这两个问题在当前多媒体大容量的视频点播网站中特别值得研究。
负载平衡技术的提出就能够很好地解决网络扩展性、冗余可靠性的要求。
2负载平衡的相关概念负载平衡器是由一组服务器组成的(集群)。
在集群中各个计算机上同时运行相同的网络应用程序,而对外界客户端来说,负载平衡器提供的服务就好像是由一台网络服务器提供的一样。
而负载平衡器将来自客户端的请求根据不同算法分配到集群中具体某个节点去,从而优化了系统性能。
负载平衡器使用不同的算法控制通信流量。
这些算法用于以智能地分散负载,最大限度地利用群集内的所有服务器。
FineReport关于tomcat集群部署的方案

FineReport关于tomcat集群部署的方案多台服务器集群后,配置权限、数据连接、模板、定时调度等,只能每台服务器一个个配置,不会自动同步到所有服务器。
针对上述情况,在FineReport中提供新集群部署插件,将xml配置文件、finedb/logdb 数据(定时任务、报表目录管理、批量导入、统计信息)的修改都对主机生效。
其他辅机的信息读取也都从主机读取,保证了数据同步。
实现了灾备,即主机当即后,次主机会上位接替主机的工作,保证系统正常运作。
同时还增加了集群灾备之文件同步,会将主机的finedb、xml、模板、jar包、插件等等备份到其他节点的应用上。
支持可以手动同步和自动同步。
插件介绍设计器插件、服务器插件安装好之后,新集群部署,有主机、次主机、辅机之分,配置文件都从主机读取,辅机只能用作计算引擎分担压力,有点事当改配置文件的时候,不需要每个节点都去修改,直接改主机即可。
分布式集群分布式集群文件系统:每台计算机各自提供自己的存储空间,并各自协调管理所有计算机节点中的文件。
这里测试修改主机的报表管理目录树平台标题,然后可以看到辅机会同步修改的配置。
其中报表管理目录树存在finedb中,平台样式的平台标题存在fsconfig.xml中。
•环境准备设置tomcat1、tomcat2、tomcat3集群,tomcat1为主机,tomcat2为辅机,tomcat3为次主机,tomcat集群。
WebReport工程分别放在tomcat下的webapps文件夹里配置文件集群配置完成之后,修改将配置包resource文件夹下的cluster.xml打开,如果没有这个文件的话,就新建一个,基本内容如下:PublicURL是集群默认跳转地址,比如集群时对外地址是自定义端口的,ip:8888/WebReport/ReportServer?op=fs我们并不能获取到这个8888端口,因此这里需要填写实际的ip:端口号,如果这段省略不写,默认跳转80端口。
服务器上配置多个TOMCAT环境变量

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>");
out.println("This is my first Servlet");
里面)
然后在浏览器中输入http://localhost:8080/servlet/HelloWorld,于是Server众望所归的报错了:Error 404--Not Found
怎么回事呢?
Servlet必须使用C:\Tomcat\webapps\ROOT\WEB-INF这个目录下面的web.xml文件进行注册,
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8"/>
注意黑体部分是修改的地方,修改之后就可以让TOMCAT支持中文链接了。
7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
第四步:建立自己的Servlet:
写入你的第一个Servlet
import java.io.*;
基于IP和端口号配置tomcat虚拟主机

配置虚拟主机有两种办法:
1.
在系统这个目录下面可以配置我们访问局域网内其它计算不用写IP 的地方
前面的IP 可以写成局域网内的主机IP
到时候访问就可以这样的了
2.在tomcat添加多个虚拟主机
一个host就是一个虚拟主机(相当于一台计算机,虽然这些程序实际上是在同个电脑上面),这样别人在访问同一台电脑上面就可以通过不一样的域名来访问同一个服务器。
这也就是人家的服务器可以托管这么多的程序的原因(并且种个程序的IP 还不一样)
基于不同端口号的站点
我们要想不同的站点上有不同的端口号,那么就要重新配置connector 所以我们要添加service 并且在service里面重新添加connector 如图所示我们重新添加的端口号是80 上一个service的端口号是8080 所以我们在浏览器上可以输入不同的端口号
上面就是基于不同端口号的访问
基于IP地址的虚拟主机
在电脑上给主机添加多个IP
点击高级
然后在添加里面可以添加多个IP 在浏览器里面就可以通过不同的IP地址访问这本台主机。
软件系统部署方案模板

软件系统部署方案一、部署环境1.1系统部署结构及网络环境{例子:系统主体采取C/S结构,在局域网内部运行,对于统计查询等功能采用java开发的B/S结构,便于相关领导和管理人员,随时随地通过外网登陆系统,按照权限来查询相关报表和数据。
系统采用集中式部署方案,系统用户均可通过公司内网或互联网登录系统。
实施时要保证网络环境畅通,考虑客户端和数据库服务器分布在不同的网段,之间可以通过VPN专线或ADSL宽带或拨号等方式实现联接通信。
在局域网与广域网间要用防火墙隔离,保障数据安全。
部署及应用架构如下所示:}1.1.1局域网{例子最简单的局域网,可以采用一个集线器把几台计算机联起来。
也可以是由不同的网段组成的大型网络,以防火墙隔开。
多层或两层的网络拓扑图:}业务终端机普通终端业务终端机业务终端机普通终端C/S结构网络图(企业内部网)1.1.2互联网接入{例子:用户使用B/S相关功能,需要通过互联网来访问,还需要接入互联网。
宽带、DDN专线接入均可。
广域网网络出口带宽不低于50M,丢包率小于2%,延迟小于50ms。
内网服务器之间用千兆以上光纤及交换机做连接,丢包率小于0.1%,延迟小于5ms。
客户机连接服务器的带宽,不低于2M ADSL。
}1.2服务器配置及软件环境{例子:服务器需要2台分别为数据库服务器(Sql Server数据库服务)和应用服务器(Tomcat服务器)。
服务器即可以放在企业内,也可以进行主机托管。
}1、数据库服务器硬件环境HP DL388 Gen9服务器775449-AA1CPU 处理器E5-2609v3 (八核1.9GHz,15MB共享三级缓存,85W) 可支持最大2个处理器1.3客服户端配置及软件环境二、系统软硬件安装与配置2.1XXX配置如:Java配置Tomcat配置42.2其他配置2.3客户端安装与运行2.4系统病毒防护配置2.5数据安全及备份配置。
1台服务器上面运行多个tomcat服务的设置方法.
项目软件使用了tomcat,在安装时自动注册为服务。
有一客户在安装时发现与另外一个软件的tomcat发生了冲突,两个软件都要使用,于是在网上查了一下资料,解决这个问题。
设置方法很简单,修改server.xml配置文件中的3个端口即可。
下面将简单总结一下如何在同一台服务器上部署多个tomcat服务。
1、下载tomcat zip版软件,分别解压到两个目录,如tomcat1和tomcat2;2、tomcat1的server.xml文件的端口设置保持默认不变;3、按照如下方法修改tomcat2的server.xml文件;∙修改8080端口。
将<Connector port="8080" maxThreads="150" minSpareThreads="25"maxSpareThreads="75" enableLookups="false" redirectPort="8443"acceptCount="100" debug="0" connectionTimeout="20000"disableUploadTimeout="true" />中的8080修改为与tomcat1中不同的端口(确保设置的端口未被使用),如9090;∙修改8005端口。
将<Server port="8005" shutdown="SHUTDOWN" debug="0">中俄8005端口修改为与tomcat1中不同的端口(确保设置的端口未被使用),如9005;∙修改8009端口。
将<Connector port="8009" enableLookups="false"redirectPort="8443" debug="0" protocol="AJP/1.3" />中的8009端口修改为与tomcat1中不同的端口(确保设置的端口未被使用),如9009;∙保存server.xml文件并关闭。
Linux平台Apache高可用双机集群Tomcat负载均衡集群配置手册
Linux平台Apache双机高可用集群+ Tomcat负载均衡集群配置手册在这个配置手册中,使用的操作系统和软件清单如下:操作系统:RedHat Enterprise Linux AS4 U4 64bit(安装时最好选择完全安装)软件:jdk-1_5_0_15-linux-amd64.binTomcat5.5.26httpd-2.0.63.tar.gzjakarta-tomcat-connectors-jk2-src-current.tar.gzipvsadm-1.24.tar.gzlibnet.tar.gzheartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm因为是linux操作系统,所以在安装软件时请使用对应自己操作系统内核的软件,这是整个集群成功的第一步。
本配置手册中的软件都是对应RedHat Enterprise Linux AS4 U4 64bit 这个版本的软件。
jdk-1_5_0_15-linux-amd64.binJAVA环境包使用的是64位1.5版Tomcat版本为公司指定的5.5版本Apache为2.0.63版jakarta-tomcat-connectors-jk2-src-current.tar.gz是连接Apache和Tomcat的连接插件,具体可以去Tomcat网站上查找下载ipvsadm-1.24.tar.gzlibnet.tar.gz这两个是用于2台Apache服务器虚拟一个IP地址使用heartbeat-2.1.3-3.el4.centos.x86_64.rpmheartbeat-pils-2.1.3-3.el4.centos.x86_64.rpmheartbeat-stonith-2.1.3-3.el4.centos.x86_64.rpm这3个软件是用于2台Apache服务器之间的心跳检测结构图Apache1以以以以以Tomcat1Tomcat2Apache22台Tomcat服务器使用Tomcat软件可以自己做集群,2台Apache服务器需要其他的软件实现虚拟服务器功能,工作站访问虚拟IP地址访问2台Apache服务器,再通过Apache服务器访问Tomcat服务器第3 页总13 页1.安装JAVA环境包1)输入命令:./ jdk-1_5_0_15-linux-amd64.bin执行完毕后,会在当前目录下生成一个JDK-1.5.0_15的文件夹2)在 /usr/local/下新建一个名字为JAVA文件夹,将个JDK-1.5.0_15的文件夹拷入到该文件夹下3)设置环境变量。
一台服务器上同时运行两个Tomcat服务
一台服务器上同时运行两个Tomcat服务如果不加任何修改,在一台服务器上同时运行两个Tomcat服务显然会发生端口冲突。
假设现在已经按照正常的方式安装配置好了第一个Tomcat,第二个如何设置呢?以下是使用Tomcat5.5解压版本所做的实验。
解决办法:1.下载tomcat的压缩包(不是安装的那种,直接解压缩就能用的)下载好的文件名是:apache-tomcat-5.5.23.zip2.解压缩。
我解压缩到了C:\分别是C:\apache-tomcat-5.5.23-1,C:\apache-tomcat-5.5.23-23. 新建一个环境变量CATALINA_HOME2,路径为d:\TomcatServer2;(只针对Windows版,Linux版不用)4. 编辑Tomcat/bin/startup.bat和catalina.bat,把CATALINA_HOME全部替换成CATALINA_HOME2;(只针对Windows版,Linux版不用)5. 修改任意一个的配置文件,比如apache-tomcat-5.5.23-1,C:\apache-tomcat-5.5.23-1\conf\server.xml用记事本什么的打开修改3个地方第一:<Server port="9005" shutdown="SHUTDOWN"> ----原来是8005第二<Connector port="9080" maxHttpHeaderSize="8192" ----原来是8080并修改默认编码为GBK或UTF-8(以支持中文链接),此处为可选设置。
示例:<Connector port="9080" protocol="HTTP/1.1"connectionTimeout="20000"r edirectPort="9443" URIEncoding=”UTF-8”/>第三<Connector port="9009" enableLookups="false" redirectPort="9443" protocol="AJP/1.3" /> ---原来是8009与8443(如果是安装版的tomcat 就不需要配置环境变量)6. 开启tomcat(只针对Windows版,Linux版用相应的启动与关闭命令即可,不用设置如下变量)开启第一个tomcat运行-cmd设置两个环境变量:JAVA_HOME(指向jdk)和CATALINA_HOME(指向Tomcat目录)在命令行打:set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_11set CATALINA_HOME=C:\apache-tomcat-5.5.23-1运行tomcat,命令:C:\apache-tomcat-5.5.23-1\bin\startup.bat关闭用C:\apache-tomcat-5.5.23-1\bin\shutdown.bat开启第二个tomcat运行-cmd(打开了另一个命令窗口)还是要设置两个环境变量:JAVA_HOME(指向jdk)和CATALINA_HOME(指向Tomcat目录)在命令行打:set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_11set CATALINA_HOME=C:\apache-tomcat-5.5.23-2 (注意tomcat目录我指向了另一个)运行tomcat了,命令:C:\apache-tomcat-5.5.23-2\bin\startup.bat 注意也是另一个--5.5.23-2)关闭可以用C:\apache-tomcat-5.5.23-2\bin\shutdown.bat(注意也是另一个--5.5.23-2)注意:但是有一个小小的问题是(据说是5.5的bug):子目录不能有与应用名相同的情况。
两个一样的tomcat不能同时启动解决方法
两个一样的tomcat不能同时启动解决方法两个一样的tomcat不能同时启动前提:最近在学服务器集群,现在弄的是纵向集群,即一台电脑上有多个服务器,扩大CPU使用率。
问题:我的服务器是Tomcat7.0.20,修改完所有端口之后(shutdown端口、http端口、https端口、ajp端口),启动一个就不能启动另一个。
环境:两个Tomcat7.0.20,使用一个JVM,JDK7,Win7 64位系统。
系统环境变量里的CATALINA_HOME已经删除,根据catalina.bat里的代码来看,应该走的是自己设置的临时环境变量。
两个startup.bat最前面加上一句set CATALINA_HOME=当前TOMCAT路径就可以了当第一个tomcat启动后,后面tomcat的server.xml中的端口不管怎么改,仍然会报端口冲突。
后来在dos下运行才发现所有的tomcat都会去找CATALINA_HOME和CATALINA_BASE这两个环境变量,因此步骤如下:1.使用压缩版的tomcat不能使用安装版的。
2.第一个tomcat的配置不变。
3.增加环境变量CATALINA_HOME2,值为新的tomcat的地址;增加环境变量CATALINA_BASE2,值为新的tomcat的地址。
4.修改新的tomcat中的startup.bat,把其中的CATALINA_HOME改为CATALINA_HOME2。
5.修改新的tomcat中的catalina.bat,把其中的CATALINA_HOME改为CATALINA_HOME2,CATALINA_BASE改为CATALINA_BASE2。
6.修改conf/server.xml文件:6.1 <Server port="8005" shutdown="SHUTDOWN">把端口改为没有是使用的端口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一台计算机上部署多个Tomcat服务器
在实际项目部署的时候客户提供的web服务器只有一台,而我们所要部署的web应用程序却超过了一个以上。
但是我们不能在一个tomcat服务器上部署多个系统,因为这样如果这个tomcat服务器运行时出现了异常有可能使所有部署的系统都不能访问,这就影响了正常的运营,所以我们最好是部署成一个tomcat服务器上部署一个web应用程序。
下面我以tomcat 6.0.36为例来说明,共涉及三个端口的修改。
1.修改默认的8080端口
浏览器通过http协议访问tomcat服务器,建立http连接的端口号默认是8080端口,这里我们需要修改它。
在tomcat的安装路径,找到conf文件夹下的server.xml,用文本编辑器打开,具体修改如下图:
在修改8080端口成你设定的端口之前用netstat –aon命令查看要使用的端口是否被占用,占用了请修改成没有被占用的端口,下面涉及到端口的修改都要用该命令查看是否被占用。
2.Tomcat服务器停服端口修改
tomcat服务器停服端口默认是8005,修改这个端口同样是在server.xml文件中,这里我修改成了8006端口如下图:
3.AJP(Apache JServ Protocol)协议端口修改
tomcat最主要的功能是提供Servlet/JSP容器,尽管它也可以作为独立的Java Web服务器,它在对静态资源(如HTML文件或图像文件)的处理速度,以及提供的Web服务器管理功能方面都不如其他专业的HTTP服务器,如IIS和Apache服务器。
因此在实际应用中,常常把Tomcat与其他HTTP 服务器集成。
AJP是为Tomcat与HTTP服务器之间通信而定制的协议,能提供较高的通信速度和效率。
[该段摘抄自网络]
AJP协议端口在server.xml文件中默认是8009,修改成自己设定的端口号,如下图:
当你没有修改这个端口的时候,启动多个tomcat服务器并没有什么异常出现启动成功,但是在控制台输出的信息中你会发现该端口已被占用,如下图中的提示信息,切记要修改。
通过上面三个端口的修改,就能启动多个tomcat服务器了。
以上信息如有不正之处,欢迎大家指正!
2015年11月3日星期二。