`

一个tomcat部署多个应用实例总结

阅读更多
    项目组有好几个项目需要运行,之前项目少,一个tomcat对应一个项目还能应付,但现在项目多了,要是再一个tomcat对应一个项目的话,一方面看起来很业余,一方面也加大服务器的维护难度。所以现在需要对tomcat进行整理,用一个tomcat来启动多个应用实例,每个应用相互独立,互不干扰。
准备工作:下载的apache-tomcat-7.0.26.zip,上传到linux服务器下/opt/apps/目录下。

一、操作步骤
1、解压apache-tomcat-7.0.26.zip。
2、在apache-tomcat-7.0.26新建一个应用实例目录,如test,在test目录下创建三个目录:conf、temp和webapps.
3、将原tomcat目录下的conf的server.xml、tomcat-user.xml和web.xml拷贝到test/conf/,将原tomcat目录下的webapps/manager拷贝到test/webapps.
4、修改test/conf/server.xml.修改的地方如下:

<Server port="${tomcat.server.port}" shutdown="SHUTDOWN">  
   
<Connector port="${tomcat.http.port}" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->

<Engine name="Catalina" defaultHost="localhost" jvmRoute="${tomcat.instance.name}">

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/opt/app/logs/${tomcat.instance.name}" prefix="localhost_access_log." suffix=".txt" pattern="%h %{x-forwarded-for}i %l %u %t "%r" %s %b" />
5、在/opt/apps/下新建logs/test目录
6、在/opt/apps/下新建bin目录:
创建test-start.sh文件,文件内容如下:
#!/bin/bash
export LD_LIBRARY_PATH="/opt/apps/apache-tomcat-7.0.26/bin/native"
#export JAVA_HOME="/opt/apps/jdk1.7.0_05"

export CATALINA_OPTS="-Dtomcat.server.port=8005 -Dtomcat.http.port=8010 -Dtomcat.instance.name=test -Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError"
export CATALINA_OUT="/opt/apps/logs/test/catalina.$(date +'%Y-%m-%d').out"
export CATALINA_PID="/opt/apps/apache-tomcat-7.0.26/tomcat-test.pid"
export CATALINA_BASE="/opt/apps/apache-tomcat-7.0.26/test"

rm -rf /opt/apps/apache-tomcat-7.0.26/test/work
/opt/apps/apache-tomcat-7.0.26/bin/catalina.sh start

exit $?

创建test-stop.sh文件,文件内容如下:
#!/bin/bash
export JAVA_HOME="/opt/apps/jdk1.7.0_05"
export JAVA_OPTS="-Dtomcat.server.port=8005"
export CATALINA_PID="/opt/apps/apache-tomcat-7.0.26/tomcat-test.pid"
/opt/apps/apache-tomcat-7.0.26/bin/catalina.sh stop 0 -force

7、将应用拷贝到apache-tomcat-7.0.26/test/webapps/,通过test-start.sh来启动应用实例,test-stop.sh来停止应用实例。
8、如要再创建一个实例,重复进得2~7操作。

二、遇到的问题:
1、Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:
   1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
   2. Shutdown the earlier cacheManager before creating new one with same name.
解决方案:copy apache-tomcat-7.0.26/conf/web.xml到apache-tomcat-7.0.26/test/conf/

2、利用jenkins自动部署时,报错:Caused by: java.io.IOException: Server returned HTTP response code: 401 for URL: http://localhost:8010/manager/text/list
解决方案:copy apache-tomcat-7.0.26/webapps/manager到apache-tomcat-7.0.26/test/webapps/,同时需要在test/conf/tomcat-user.xml加上用户配置。
1
0
分享到:
评论

相关推荐

    一台机器上部署不同版本JDK,两个Tomcat的解决方案

    此方法适合在同一台机器装不同的JDK,多个Tomcat

    zabbix自动安装单机多tomcat实例脚本

    该资源是用于在zabbix客户端部署jvm的监控的脚本,无论服务器上有多少个tomcat均可以自动部署监控

    Linux 单个tomcat多实例部署shell脚本详解

    Linux 单个tomcat多实例部署shell脚本详解 步骤: 1. 下载tomcat,解压安装 2.将tomcat下的webapps,conf,temp等目录分别拷至根目录www下A,B,C目录下 3.新建如下脚本restart_tomcat.sh 4.使用restart_tomcat.sh A/B/C ...

    tomcat_热部署_jrebel6.4.3-cracked

    类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装入器实例,就可以将类再次装入一个正在运行的应用程序。 Tomcat的热部署 Tomcat的热部署(以后就不用重启了) 没有热部署和有热部署的开发效率是天差...

    JMS教程+activemq以及activemq和tomcat的整合+整合实例代码+持久化消息配置以及工程+tomcat服务器的配置

    JMS简明教程+JMS规范教程+activemq以及activemq和tomcat的整合+整合实例代码+持久化消息配置以及工程+tomcat服务器的配置+整合需要的lib文件+部署多个tomcat服务器方案等

    nginx+tomcat+redis集群部署环境的搭建(附环境包)

    集群部署即一个应用多实例部署,通过负载均衡将客户端高并发求情分散到集群部署的多个实例中去,实例处理完客户端请求,将结果返回个客户端; 集群部署的服务器对外提供统一访问接口,后端的部署对客户端来说是透明...

    multi_tomcats.zip

    应用运维工作中我们经常需要部署tomcat应用,一个服务器下部署多个应用或服务,有时候我们还需要匹配不通的tomcat或者java版本。此附件通过脚本一键完成所需tomcat环境的部署准备,支持jdk7和jdk8,支持tomcat8.5和...

    Windows 启动tomcat服务bat 可执行脚本

    Windows系统下 启动tomcat服务bat 可执行脚本,当开发人员想要通过在java中开发一个启动Windows系统下tomcat的脚本文件时,就可以使用我这个

    Docker容器上用DockerFile部署多个tomcat服务的步骤

    #创建一个Dockerfile文件夹 名字不能错必须是这个名字否者检测不到 5、 利用三方工具将 tomcat 和 jdk的 上传到Web文件夹 6、 [admin@JD web]$ vim Dockerfile #编辑文件并写入内容如下 FROM centos MAINTA

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前web开发中经常使用的功能,具有相当的实用价值。本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前web开发中经常使用的功能,具有相当的实用价值。本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的...

    《深入剖析Tomcat(中文版+英文版)》.rar

    作为一个开源和小型的轻量级应用服务器,Tomcat 易于使用,便于部署,但Tomcat本身是一个非常复杂的系统,包含了很多功能模块。这些功能模块构成了Tomcat的核心结构。《深入剖析Tomcat》从最基本的HTTP请求开始,...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前web开发中经常使用的功能,具有相当的实用价值。本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前web开发中经常使用的功能,具有相当的实用价值。本书不仅可以作为java web开发的学习用书,还可以作为从事java web开发的...

    puppet-tomcat:基于实例的tomcat安装的Puppet模块

    Tomcat目录概述支持运行多个实例。 当前支持RedHat框和Apache Tomcat 7.x或8.x模块说明模块功能: 多个Tomcat实例选择要以以下方式运行每个Tomcat实例的用户: 安装/删除认可的Java库(例如XML解析器) 安装/删除...

    h_JAVA 2应用编程150例.rar

    实例55 一个简单的代理服务器 164 实例56 扫描网站信息 173 实例57 远程方法调用 174 实例58 调用JINI方法 176 第5章 Java数据库编程 179 实例59 应用JDBC-ODBC桥 180 实例60 使用单独JDBC连接驱动程序 184 实例61 ...

    通过 Spring Session 实现新一代的 Session 管理.docx

    例如,我们可以很容易地将一个“.war”文件部署到位于 Cloud Foundry 或 Heroku 的 Tomcat 中,然后在几秒钟的时间内就能扩展到 100 个应用实例,每个实例可以具有 1GB RAM。我们还可以配置云平台,基于用户的需求...

    JAVA上百实例源码以及开源项目源代码

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    Web服务器三剑客运维配置实战 Nginx+JVM+Tomcat+HTTP协议.zip

    ├─5.10 tomcat部署war包实战.mp4 (3)\笔记+课件+资料\第1天;目录中文件数:4个 ├─01-第1天-HTTP协议.pdf ├─02-第1天-Nginx进阶基础.pdf ├─第1天-HTTP协议.md ├─第1天-Nginx进阶基础.md (4)\笔记+课件+资料...

Global site tag (gtag.js) - Google Analytics