tomcat多实例配置
有一台server上跑个tomcat的实例的情况,我遇到过这种情况,毕竟把多个应用部署到一个实例中,如果某个应用出了问题,导致tomcat奔溃,其他应用也gg了。闲话到此。
通常部署多实例就是解压多个tomcat的包,然后保证不同实例所涉及的端口不一致就好了。另外的方法是共用tomcat的bin和lib进行多个实例的部署,下面是示范动作:
- 下载tomcat的zip版本,解压到D盘,到conf目录把setclasspath.bat前加上“set JAVA_HOME=jdk目录”(不要带引号)
- 进入tomcat所在的目录并新建实例目录,加速为x-instance,把除了bin和lib目录的所有内容全部移动到x-instance目录,复制x-instance到当前目录多份,重命名为y-instance、z-instance,此时就有三个实例了。
- 修改y实例下的server.xml配置文件的三个端口号,我是在之前基础上加一
- 修改z实例下的server.xml配置文件的三个端口好,我是在之前基础上加二
- 为x、y、z实例分别创建启动脚本
- 打完收工
启动脚本:
# 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多实例配置的更多相关文章
- 搭建Tomcat应用服务器、tomcat虚拟主机及Tomcat多实例部署
一.环境准备 系统版本:CentOS release 6.6 (Final) x86_64 Tomcat版本:tomcat- JDK版本:jdk-8u25-linux-x64 关闭防火墙 软件包下载地 ...
- Nginx+Tomcat多实例及负载均衡配置
Nginx+Tomcat多实例及负载均衡配置 采用nginx的反向代理负载均衡功能,配合后端的tomcat多实例来实现tomcat WEB服务的负载均衡 01 安装nginx服务 安装所需的pcre库 ...
- Tomcat+JSP经典配置实例
经常看到jsp的初学者问tomcat下如何配置jsp.servlet和bean的问题,于是总结了一下如何tomcat下配置jsp.servlet和ben,希望对那些初学者有所帮助. 一.开发环境配置 ...
- Tomcat server.xml配置示例
本文由 ImportNew 几乎所有容器类型的应用都会包含一个名为 server.xml 的文件结构.基本上,其中的每个元数据或者配置都是容器完成初始化所需要的.正是由于这些内容都是可配置的,使得软件 ...
- nginx+tomcat集群配置(4)--rewrite规则和多应用根目录设定思路
前言: nginx中有一块很重要的概念, 就是rewrite规则. 它会对URL进行修改, 然后进行内部的重定向. rewrite授予了nginx更多的自由, 使得后级服务的接入更加地方便. 本文将简 ...
- nginx+tomcat集群配置(1)---根目录设定和多后端分发配置
前言: 对于javaer而言, nginx+tomcat集群配置, 已然成了web应用部署的主流. 大公司如此, 小公司亦然. 对于个人开发者而言, 资源有限, 往往多个web应用混部于一台服务器(云 ...
- Linux+Apache+Tomcat集群配置
参考: http://blog.csdn.net/bluishglc/article/details/6867358# http://andashu.blog.51cto.com/8673810/13 ...
- Tomcat多实例部署
前言 以前总是采用很Low的方式太同一台服务器上部署多个Web应用,步骤是这样的:Copy Tomcat目录-->更改conf/server.xml三个端口号----->部署war包--- ...
- tomcat多实例
//结合博主之前的安装tomcat的博文一起看,tomcat多实例就是在不同路径启动多个tomcat,然后在本机不同端口启动 [root@ycj ~]# cd /usr/local/src/ [roo ...
随机推荐
- c#DDOS代码
//在工程属性中设置"允许不安全代码"为true ?using System; using System.Net; using System.Net.Sockets; using ...
- DataTable和实体类之间的转换
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.R ...
- Tesseract-OCR 4.1.0 安装和使用— windows及CentOS
OCR(Optical character recognition) —— 光学文字识别,是图像处理的一个重要分支,中文的识别具有一定挑战性,特别是手写体和草书的识别,是重要和热门的科学研究方向 截止 ...
- SQL SERVER2005自动备份 2012.3.29
要想在 SQL2005上进行数据库的自动备份必须把sql server的SQL Server Agent服务开启,否则是无法进行自动备份的 启动完成之后,用户可以直接在“管理”下面的“维护计划”选项来 ...
- selenium webdriver 操作select
@Test public void test() { WebDriver driver=ExplorerBase.IESetting(); driver.get("http://unique ...
- apply()、call()、bind()
在JavaScript中,call.apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向.apply和call方法.bind方法都是在特定的作用域中 ...
- 学习Flutter应用开发有用的代码/库/专有技术列表
当我开始使用Flutter开发该应用程序时,我开始担心:“最好的书写方式是什么?”以及“放置它的效果如何?”在这种情况下,您将需要学习和参考GitHub发布的代码和应用程序. 因此,我收集了似乎对 ...
- [转]ubuntu备份与恢复
在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历.如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供 ...
- python 网络爬虫(二)
一.编写第一个网络爬虫 为了抓取网站,我们需要下载含有感兴趣的网页,该过程一般被称为爬取(crawling).爬取一个网站有多种方法,而选择哪种方法更加合适,则取决于目标网站的结构. 首先探讨如何安全 ...
- 洛谷 P6046 [CTSC2000]快乐的蜜月
先讲解一下如何处理这道题的毒瘤输入.\(m\) 和 \(d\) 之间的"/"和" TO "都可以用 getchar() 强行吃掉,日期的转换可以用公式 \(s_ ...