Tomcat多实例部署
前言
一般我们使用tomcat时,如果是多实例的情况都会拷贝多个tomcat,但实际上tomcat还可以建立类似于weblogic的domain,以实现多实例部署。
Weblogic多实例部署回顾
讲tomcat多实例部署前我们先回顾一下weblogic的多实例。以weblogic10为例,安装完weblogic后,会在c:\bea10生成weblogic的Home目录,里面放置的是jdk、weblogic的管理目录等:
使用的时候我们会建立一个独立的domain,可以放置到任何目录。每个独立的domain包含自己的bin目录,在bin目录中启动domain时会设置两个环境变量,一个是weblogic
home的位置,一个是domain的位置,如下:
在setDomainEnv.cmd中设置的是weblogichome的位置
在startWebLogic.cmd中设置的是domain的位置
Weblogic建立domain时,通过自动设置了这两个参数,使得安装一个weblogic可以自动创建多个domain,并分别启动(每个domain应该设置不同的端口)。
Tomcat多实例实现
各种应用服务器的思路其实大同小异,下面看tomcat的多实例部署。以下我把tomcat的实例称作instance。并通过tomcat7进行讲解(tomcat5的文件夹略有不同)。总的结构如下:
首先,我们建立tomcat主目录,如下:
对于tomcat主目录,从apache上下载解压以后,删除复制出来bin、lib和根目录的文件几个。
然后,我们建立instance。如下我在tomcat目录建立了一个主目录,然后创建了nstc-instances用于放置各种实例:
而对于每个实例,其实需要的内容也很少,必须的是conf文件夹和里面的文件。Logs、temp和work创建实例时可以不设置(实例启动时会自动生成),而对于webapps目录可以在conf的文件中指定。最完整的实例如下:
Startup.bat是我手动创建的
对于tomcat也存在两个变量CATALINA_HOME、CATALINA_BASE,其中CATALINA_HOME指定的是tomcat主目录,CATALINA_BASE指定的是instance的目录,因为CATALINA_BASE默认和主目录相同,所以一般不用单独建立instance。如上图设置了实例的目录,然后因为导航到了tomcat主目录启动,所以不需要单独设置CATALINA_HOME了。
实际使用时webapps也可以单独设置,例如在conf\Catalina\localhost\WST.xml文件中,可以指定应用的目录就是程序编译后的目录,这样程序编译后就不用再拷贝到webapps中了。
最后,注意每个实例需要设置不同的端口。
结尾
至此,我们非常快速的了解了如果对tomcat建立多个instance,同时我们也了解到了其实tomcat的主目录只需要bin和lib文件夹中的内容就可以了。
通过对tomcat的了解,未来可以在产品中嵌入tomcat(不是使用tomcat的嵌入模式),让应用变成自启动程序。也可以通过程序控制建立多个tomcat实例。
分享到:
相关推荐
主要介绍了Linux 单个tomcat多实例部署shell脚本详解的相关资料,需要的朋友可以参考下
Windows系统下 启动tomcat服务bat 可执行脚本,当开发人员想要通过在java中开发一个启动Windows系统下tomcat的脚本文件时,就可以使用我这个
单tomcat 实例下 部署多应用程序实现。 实现简单,容易上手。。。
tomcat多实例部署脚本及相关附件。应用运维工作中我们经常需要部署tomcat应用,一个服务器下部署多个应用或服务,有时候我们还需要匹配不通的tomcat或者java版本。此附件通过脚本一键完成所需tomcat环境的部署准备,...
ZooKeeper实例 + Solr(tomcat)集群部署
双实例tomcat部署(tomcat7.0.82+jdk1.7和8.5.20+jdk1.8),tomcat多实例方式部署详细文档和相关软件包
java webService tomcat 实例 项目 部署启动tomcat就可以访问webService 运行测试类看是否成功 jar包齐全.
该资源是用于在zabbix客户端部署jvm的监控的脚本,无论服务器上有多少个tomcat均可以自动部署监控
Nginx+tomcat配置集群负载均衡实现动静分离实例
Tomcat的热部署(以后就不用重启了) 没有热部署和有热部署的开发效率是天差地别的。这个问题还受很多第三方软件包(Struts,Spring,Hibernate)的限制。本来可以热部署,加入了第三方的包就不可以了。所以,先说明...
1、 [admin@JD ~]$ cd opt #进入根目录下的opt 里 2、 ...利用三方工具将 tomcat 和 jdk的 上传到Web文件夹 6、 [admin@JD web]$ vim Dockerfile #编辑文件并写入内容如下 FROM centos MAINTA
集群部署即一个应用多实例部署,通过负载均衡将客户端高并发求情分散到集群部署的多个实例中去,实例处理完客户端请求,将结果返回个客户端; 集群部署的服务器对外提供统一访问接口,后端的部署对客户端来说是透明...
经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助
webservice例子(客户端和服务器端和tomcat部署) webservice例子(客户端和服务器端和tomcat部署).zip
3、Tomcat 有几种部署方式? 4、tomcat 容器是如何创建 servlet 类实例?用到了什么原理? 5.tomcat 如何优化? 6.内存调优 7.垃圾回收策略调优 8.共享 session 处理 8.添加 JMS 远程监控 9.专业点的分析工具有哪些 ...
主要介绍了Maven添加Tomcat插件实现热部署代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
此方法适合在同一台机器装不同的JDK,多个Tomcat
JMS简明教程+JMS规范教程+activemq以及activemq和tomcat的整合+整合实例代码+持久化消息配置以及工程+tomcat服务器的配置+整合需要的lib文件+部署多个tomcat服务器方案等
实例展示,android客户端与Tomcat服务端通信