有一台server上跑个tomcat的实例的情况,我遇到过这种情况,毕竟把多个应用部署到一个实例中,如果某个应用出了问题,导致tomcat奔溃,其他应用也gg了。闲话到此。


通常部署多实例就是解压多个tomcat的包,然后保证不同实例所涉及的端口不一致就好了。另外的方法是共用tomcat的bin和lib进行多个实例的部署,下面是示范动作:

  1. 下载tomcat的zip版本,解压到D盘,到conf目录把setclasspath.bat前加上“set JAVA_HOME=jdk目录”(不要带引号)
  2. 进入tomcat所在的目录并新建实例目录,加速为x-instance,把除了bin和lib目录的所有内容全部移动到x-instance目录,复制x-instance到当前目录多份,重命名为y-instance、z-instance,此时就有三个实例了。
  3. 修改y实例下的server.xml配置文件的三个端口号,我是在之前基础上加一
  4. 修改z实例下的server.xml配置文件的三个端口好,我是在之前基础上加二
  5. 为x、y、z实例分别创建启动脚本
  6. 打完收工

启动脚本:

# windows版本,linu版本原理相同
# 存放位置在实例的目录内 @echo off
@echo 删除缓存
rmdir /S /Q %CD%/work rem------------------------------------------------------------------------------------------
rem set the CATALINA_OPTS & JAVA_OPTS
rem set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=200m -XX:MaxPermSize=200m
rem
rem------------------------------------------------------------------------------------------- SET CATALINA_BASE=%CD% cd ../bin set title=实例名称 catalina.bat start

关闭脚本:

# 这里用到了sed和awk工具需要自己到网上找windows版本的,比较好找。
# 对应位置需要修改。 @echo off
rem ---------------------------------------------------------------- set tomcatport=8080
set appinfo=测试服务 rem ----------------------------------------------------------------- netstat -ano | findstr %tomcatport% | gawk "{ print $5 } " > command.tmp findstr [0-9] command.tmp > tmp.tmp if %errorlevel% == 1 goto done sed -e "s/.*/taskkill \/f \/pid &/" command.tmp | sed -n "w b.bat"
call b.bat
echo 当前已经关闭了端口为%tomcatport%的tomcat服务
echo 被关闭的应用为:%appinfo%
goto done :done
del /f command.tmp
if exist b.bat del /f b.bat
if exist tmp.tmp del /f tmp.tmp
echo 当已经没有端口为%tomcatport%的tomcat服务在运行。
echo by:luohaonan pause

实例的目录的截图:

三个实例运行的截图:

关闭服务脚本运行的截图:

tomcat多实例配置的更多相关文章

  1. 搭建Tomcat应用服务器、tomcat虚拟主机及Tomcat多实例部署

    一.环境准备 系统版本:CentOS release 6.6 (Final) x86_64 Tomcat版本:tomcat- JDK版本:jdk-8u25-linux-x64 关闭防火墙 软件包下载地 ...

  2. Nginx+Tomcat多实例及负载均衡配置

    Nginx+Tomcat多实例及负载均衡配置 采用nginx的反向代理负载均衡功能,配合后端的tomcat多实例来实现tomcat WEB服务的负载均衡 01 安装nginx服务 安装所需的pcre库 ...

  3. Tomcat+JSP经典配置实例

    经常看到jsp的初学者问tomcat下如何配置jsp.servlet和bean的问题,于是总结了一下如何tomcat下配置jsp.servlet和ben,希望对那些初学者有所帮助. 一.开发环境配置 ...

  4. Tomcat server.xml配置示例

    本文由 ImportNew 几乎所有容器类型的应用都会包含一个名为 server.xml 的文件结构.基本上,其中的每个元数据或者配置都是容器完成初始化所需要的.正是由于这些内容都是可配置的,使得软件 ...

  5. nginx+tomcat集群配置(4)--rewrite规则和多应用根目录设定思路

    前言: nginx中有一块很重要的概念, 就是rewrite规则. 它会对URL进行修改, 然后进行内部的重定向. rewrite授予了nginx更多的自由, 使得后级服务的接入更加地方便. 本文将简 ...

  6. nginx+tomcat集群配置(1)---根目录设定和多后端分发配置

    前言: 对于javaer而言, nginx+tomcat集群配置, 已然成了web应用部署的主流. 大公司如此, 小公司亦然. 对于个人开发者而言, 资源有限, 往往多个web应用混部于一台服务器(云 ...

  7. Linux+Apache+Tomcat集群配置

    参考: http://blog.csdn.net/bluishglc/article/details/6867358# http://andashu.blog.51cto.com/8673810/13 ...

  8. Tomcat多实例部署

    前言 以前总是采用很Low的方式太同一台服务器上部署多个Web应用,步骤是这样的:Copy Tomcat目录-->更改conf/server.xml三个端口号----->部署war包--- ...

  9. tomcat多实例

    //结合博主之前的安装tomcat的博文一起看,tomcat多实例就是在不同路径启动多个tomcat,然后在本机不同端口启动 [root@ycj ~]# cd /usr/local/src/ [roo ...

随机推荐

  1. c#DDOS代码

    //在工程属性中设置"允许不安全代码"为true ?using System; using System.Net; using System.Net.Sockets; using ...

  2. DataTable和实体类之间的转换

    using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.R ...

  3. Tesseract-OCR 4.1.0 安装和使用— windows及CentOS

    OCR(Optical character recognition) —— 光学文字识别,是图像处理的一个重要分支,中文的识别具有一定挑战性,特别是手写体和草书的识别,是重要和热门的科学研究方向 截止 ...

  4. SQL SERVER2005自动备份 2012.3.29

    要想在 SQL2005上进行数据库的自动备份必须把sql server的SQL Server Agent服务开启,否则是无法进行自动备份的 启动完成之后,用户可以直接在“管理”下面的“维护计划”选项来 ...

  5. selenium webdriver 操作select

    @Test public void test() { WebDriver driver=ExplorerBase.IESetting(); driver.get("http://unique ...

  6. apply()、call()、bind()

    在JavaScript中,call.apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向.apply和call方法.bind方法都是在特定的作用域中 ...

  7. 学习Flutter应用开发有用的代码/库/专有技术列表

    当我开始使用Flutter开发该应用程序时,我开始担心:“最好的书写方式是什么?”以及“放置它的效果如何?”在这种情况下,您将需要学习和参考GitHub发布的代码和应用程​​序. 因此,我收集了似乎对 ...

  8. [转]ubuntu备份与恢复

    在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历.如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供 ...

  9. python 网络爬虫(二)

    一.编写第一个网络爬虫 为了抓取网站,我们需要下载含有感兴趣的网页,该过程一般被称为爬取(crawling).爬取一个网站有多种方法,而选择哪种方法更加合适,则取决于目标网站的结构. 首先探讨如何安全 ...

  10. 洛谷 P6046 [CTSC2000]快乐的蜜月

    先讲解一下如何处理这道题的毒瘤输入.\(m\) 和 \(d\) 之间的"/"和" TO "都可以用 getchar() 强行吃掉,日期的转换可以用公式 \(s_ ...