一个Tomcat运行多个实例

本文介绍在同一个tomcat下运行mydomain.com和mysite.com这两个实例的步骤。

有时候,我们希望周期性的更新Tomcat;有时候,我们又想统一管理安装在一台机器上的tomcat(比如让tomcat版本统一,让多个实例的tomcat的依赖统一、配置统一等)。在这些场景下,我们都不希望把Web应用程序的文件放入Tomcat发行版的目录结构中,而是让一个tomcat运行多个实例,并把Web应用放在tomcat的安装目录之外。

一般在使用Tomcat时,服务器会从conf及webapps目录中读取配置文件,并将文件写入logs、temp和work目录,当然一些jar文件和class文件需要从服务器的公共目录树中予以加载。因此,为了让多个实例能同时运行,每一个Tomcat实例都必须有自己的目录集

首先,下载tomcat安装包,并解压,这里我使用的tomcat版本是tomcat-8.0.33:

然后,创建一个文件夹tomcat-instance(该文件夹用于存放tomcat所有实例),并在这个文件夹下分别创建mydomain.com和mysite.com两个实例文件夹:

?


1

2

3

4

mkdir tomcat-instance

cd tomcat-instance

mkdir mydomain.com

mkdir mysite.com

对于mydomain.com,依次做以下步骤:

1. 拷贝Tomcat安装目录的conf文件夹下的所有内容,到mydomain.com文件夹下:

?


1

2

3

cd mydomain.com

cp -a /home/user/Software/apache-tomcat-8.0.33/conf .

mkdir common logs temp server shared webapps work

2.修改mydomain.com/conf/server.xml,将停止端口号修改为不同的端口号:

3.修改Connector的端口号:

4.删除server.xml中所有的Context元素(因为这份server.xml来自于tomcat的安装目录,如果曾经用该tomcat部署过项目,server.xml中就会有Context元素,由于现在没有将这些项目复制到mydomain.com实例的webapps文件夹下)及嵌套的所有元素,并加入与自己的webapps相关的内容。

5.为了简化变量设置步骤,创建tomcat启动脚本start-mydomain.sh,并将该文件放在tomcat-instance目录下,该文件的内容如下:

6.修改脚本的权限,使其可执行:

7.用脚本启动tomcat实例:

可以看到,这个实例使用的CATALINA_BASE是instance/mydomain.com,这里的CATALINA_HOME是安装tomcat的目录

8.拷贝示例文件到mydomain.com/webapps目录,从浏览器验证启动的tomcat实例:

到这里,tomcat实例mydomain.com已经正常运行了。

另一个实例mysite.com也按照1~8的步骤依次进行,但是注意以下步骤的不同配置:

2.Server端口号修改为8013。

3.Connector端口号修改为8082。

5.脚本中的CATALINA_BASE修改为/home/user/Software/tomcat-instance/mysite.com。

7.用脚本启动mysite.com实例:

可以看到,这个实例使用的CATALINA_BASE是instance/mysite.com。而这里的CATALINA_HOME依然是安装tomcat的目录,这和mydomain.com实例的配置是一样的,说明二者确实共用了一个安装目录。

8.拷贝示例文件到mysite.com/webapps目录,从浏览器验证启动的tomcat实例:

至此,tomcat的多实例已能正常运行,当然,也可以为这些实例创建停止tomcat的脚本。

当把Web应用的文件和Tomcat发行版的文件分开管理后,升级Tomcat将会变得十分容易,因为我们可以用新目录直接替换整个Tomcat发行版的目录。

时间: 2024-08-03 06:19:30

一个Tomcat运行多个实例的相关文章

补丁程序提示有一个挂起的安装实例,请重起机器

在安装SQL Server 2000或SP3补丁的时候,安装程序提示有一个挂起的安装实例,要求重起机器. 例如:"以前的某个程序安装已在安装计算机上创建挂起的文件操作. 运行安装程序之前必须重新启动计算机." 但实际情况是:重起多次操作系统都不起作用,把操作系统的Temp临时目录都清除,也不起作用. 此问题的解决方法如下:运行regedit打开注册表编辑器,HKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession Manager中找到Pen

php实现的一个简单json rpc框架实例

 这篇文章主要介绍了php实现的一个简单json rpc框架实例,本文给出了RPC服务端和客户端代码以及应用实例,需要的朋友可以参考下     json rpc 是一种以json为消息格式的远程调用服务,它是一套允许运行在不同操作系统.不同环境的程序实现基于Internet过程调用的规范和一系列的实现.这种远程过程调用可以使用http作为传输协议,也可以使用其它传输协议,传输的内容是json消息体. 下面我们code一套基于php的rpc框架,此框架中包含rpc的服务端server,和应用端cl

Docker 搭建 Tomcat 运行环境的方法_docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口. 1 Docker与虚拟机   2 搭建过程 2.1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS 内核: # uname -r 2.2 安装Docker # yum install d

y clipse-MyEclipse2014部署tomcat项目无法手动启动tomcat运行项目

问题描述 MyEclipse2014部署tomcat项目无法手动启动tomcat运行项目 我在本地写了一个项目,然后用MyEclipse2014部署在tomcat上面正常运行,但是我在MyEclipse里面关闭tomcat之后把tomcat安装目录下面的webapps对应的项目整体上传到了远程服务器上面,发现无法找到项目.而且在本地计算机服务中手动启动tomcat发现本地项目也是无法找到,但是webapps文件夹里面的确存在!问一下这个是什么原因,如何才能部署成功? 解决方案 是不是你的tomc

javaweb-如何让一个tomcat 架构的SSHwe项目承受5W左右的同时访问

问题描述 如何让一个tomcat 架构的SSHwe项目承受5W左右的同时访问 性能优化菜鸟 请问如何优化: 1.SSH项目的配置 2.java代码的规范,及注意事项 3.tomcat的配置 以上为本菜 能想到的几个方面,希望有大神垂青,助我长知识 希望能得到详细的解答. 解决方案 做服务器集群吧,Varnish+Nginx+Tomcat 解决方案二: 一个项目搭建,运行,得从最底层往上以此去考虑 1.硬件架构 硬件的搭建架构:磁盘阵列,刀片,核心服务器,服务器集群等等 2.网络架构 网络的带宽,

Eclipse通过Tomcat运行项目不成功。

问题描述 大家好,我的项目在Eclipse中通过Tomcat运行项目不成功,显示"HTTP Status 404",如下图所示:发现的异常:打开E:apache-tomcat-7.0.26webapps,如下图:但是我如果直接启动E:apache-tomcat-7.0.26binstartup.bat发现的异常:打开E:apache-tomcat-7.0.26webapps,如下图:输入与Eclipse运行后相同的网址:http://localhost:8090/baobaotao/则

用jdbc实现jsp与sql 2008连接时的tomcat运行时出现

问题描述 用jdbc实现jsp与sql 2008连接时的tomcat运行时出现 第一次用jdbc><.用jdbc实现jsp与sql 2008连接时的tomcat运行时出现Could not launch in profiling mode because no profilers are configured. 用的eclipse 解决方案 看看 http://blog.csdn.net/testcs_dn/article/details/36646243 能不能解决问题 解决方案二: 去网上

虚拟机-同样的一个Tomcat,在另一台机器却起不来

问题描述 同样的一个Tomcat,在另一台机器却起不来 以机器1.机器2.机器3.机器4来说明. 这套程序,是运行于Tomcat的网站.这套程序在机器1.机器2.机器3中,都没有任何问题,可是在机器4中却无法加载一些服务.这是完全相同的程序,直接从其他机器复制,JDK也完全一致. 系统都是Red Hat6.5,区别只在于,机器1.机器2.机器3是基于OpenStack的虚拟机,而机器4是基于VMWare的虚拟机. 机器4中,Tomcat可以启动,只是不能加载该网站的一些功能..... 请问,怎么

eclipse中tomcat运行JSP文件出现以下错误

问题描述 eclipse中tomcat运行JSP文件出现以下错误 java.io.FileNotFoundException: conf ullmodel2xsl.xml (系统找不到指定的路径.) 怎么解决? 解决方案 java.io.FileNotFoundException: conf ullmodel2xsl.xml (系统找不到指定的路径.) 文件没有找到,是否缺少model2xsl.xml文件,或者路径不正确. 解决方案二: java.io.FileNotFoundException