项目组有好几个项目需要运行,之前项目少,一个tomcat对应一个项目还能应付,但现在项目多了,要是再一个tomcat对应一个项目的话,一方面看起来很业余,一方面也加大服务器的维护难度。所以现在需要对tomcat进行整理,用一个tomcat来启动多个应用实例,每个应用相互独立,互不干扰。 
准备工作:下载的apache-tomcat-7.0.26.zip,上传到linux服务器下/opt/apps/目录下。 
百牛信息技术bainiu.ltd整理发布到博客园
一、操作步骤 
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加上用户配置。

有时候再centos操作系统一个tomcat部署多个应用实例会出现问题,重启一下有时候由可以,由于技术有限还在处理这个问题。

一个tomcat部署多个应用实例总结的更多相关文章

  1. 一个tomcat部署多个应用实例

    安装JDK7sudo apt-get install java7-jdk 安装tomcat7 Tomcat7下载地址http://mirror.bjtu.edu.cn/apache/tomcat/to ...

  2. windows10上使用一个tomcat部署2个项目

    前言:目前想在本机部署2个项目,网上查了之后,写下本篇随笔 1.准备工作 2.操作方法 3.运行2个项目 1.准备工作 2个war包(一个jprss.war和一个jenkins.war) 1个tomc ...

  3. 一个tomcat部署两个springboot服务时启动JMX报错

    一.问题来源 今天在部署开发好的组件的时候,发现无法启动,检查启动日志,报如下错误: 2022-03-17T10:39:41.823+08:00 ERROR vediomanage.vediomana ...

  4. 一个tomcat部署俩个java web项目

    2.发布的时候可以发布成war包,用项目名称右键export,选择项目名称,还有发布的路径,即tomcat下的路径,参考http://zhidao.baidu.com/link?url=imOu0Uu ...

  5. 同一个Tomcat部署两个project之间的通信问题

    同一个tomcat下的两个project是无法通信的. 同一个tomcat中的project能互相调用吗 启动一个tomcat部署多个项目,那么每个项目算是一个线程还是进程呢? Tomcat中的pro ...

  6. IDEA中web项目打成war包并在本地tomcat部署(超细版)

    准备工作:相关软件及插件IDEA(2021.1.3).tomcat(8.5.50)且在IDEA中调用tomcat运行时没有任何错误的,如何下载安装百度都有详细的介绍,这里就不过多的介绍了,版本不同操作 ...

  7. tomcat 部署 RESTful 服务实例

    1.建立简单restfule服务 参考:java 利用JAX-RS快速开发RESTful 服务实例 简单代码: package com.example; import javax.ws.rs.GET; ...

  8. android实例讲解----Tomcat部署Web应用方法总结

      参考文档:http://blog.csdn.net/yangxueyong/article/details/6130065  Tomcat部署Web应用方法总结             一.架构介 ...

  9. 一个tomcat服务器上部署多个Web项目,不同域名访问

    [参考]一个tomcat服务器上部署多个项目,不同域名访问 我们一个服务器只按装了一个tomcat服务器,现在有多个项目或者多个域名访问,下面来进行配置 在这里我们只需要修改conf下的server. ...

随机推荐

  1. 短视频 SDK 架构设计实践

    作者简介 孔维乐,七牛云客户端团队 Android 平台高级开发工程师,专注音视频,图形图像领域.OpenGL 专家,先后参与直播推流及连麦 SDK 的开发,主导短视频 SDK 的架构设计与实现, 对 ...

  2. [转]Fedora 添加国内源(sohu, 163)

    第一种方案 在国内163和搜狐提供很好的源,现在我们把它们俩添加到我们的源库.1. 添加搜狐的源 进入网站http://mirrors.sohu.com/,在左边找到fedora目录,点击该行右边的h ...

  3. [USACO12MAR]拖拉机

    题目描述 After a long day of work, Farmer John completely forgot that he left his tractor in the middle ...

  4. hdu 4043 FXTZ II [ 概率 + Java大数]

    传送门 FXTZ II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  5. Heredoc和Nowdoc

    就象heredoc结构类似于双引号字符串,Nowdoc结构是类似于单引号字符串的.Nowdoc结构很象heredoc结构,但是 nowdoc不进行解析操作 . 这种结构很适合用在不需要进行转义的PHP ...

  6. LightOJ1094 - Farthest Nodes in a Tree(树的直径)

    http://lightoj.com/volume_showproblem.php?problem=1094 Given a tree (a connected graph with no cycle ...

  7. HDU——2768 Cat vs. Dog

    Cat vs. Dog Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  8. ORACLE DTRACE DOC

    http://docs.oracle.com/cd/E19253-01/817-6223/

  9. google 上网

    https://chrome.google.com/webstore/detail/%E5%BC%80%E7%9C%BC/kpamljbkjaaljbcgobdealnpalcgicna?hl=zh- ...

  10. JAVA原始的导出excel文件,快捷通用 方便 还能够导出word文档哦

    如今导出excel基本上都是用poi了,当报表格式非常负责的时候 开发难度会加大 假设报表有格式有变化 那就更复杂了,先发现一个非常老的技术.能够解决格式复杂的报表. 实例代码例如以下: <%@ ...