tomcat启动多实例

最近在玩jenkins+maven+git,用jenkins构建好jenkins的war包后想看看构建的war包能不能用,于是想着在一台机器上面启动多个tomcat实例。

首先,来看看解压后的tomcat根目录中含有什么东西吧:

bin 目录:包含所有运行tomcat的二进制和脚本文件

lib 目录:包含tomcat使用的所有共享库

conf 目录:包含配置信息,如tomcat绑定的端口等

logs 目录:包含所有的日志文件

temp 目录:此目录是tomcat存放的临时文件

webapps 目录:此目录非常重要,这里存放所有的应用程序war包

work 目录:如果应用程序包含jsp文件,那么每个jsp文件会被编译转化为servlet,存放于这里

当需要运行多个tomcat实例的时候,将tomcat压缩包解压为两个不同名称的目录,然后在目录一里面的webapps目录下将war包放入,然后执行bin目录下的start.sh脚本就能启动第一个实例,然后进入第二个目录,修改conf/server.xml中的四个端口:Shutdown port,Connector port,ajp port和Redirect port。

Shutdown port – 此端口用于关闭Tomcat。当执行shutdown.sh脚本时,它会给此端口发出一个信号,Tomcat的进程会监听此端口,如果接收到这样的信号,进程会清理退出。

Connector port - 此端口是应用对外公开发布的端口。

ajp port – Web服务器(例如Apache的httpd Server)通过此端口和Tomcat进行通信,也可以使用它设置一个负载均衡服务器。

Redirect port – 如果此Connector支持非SSL请求和接收SSL请求,Catalina会自动将请求指向到此端口。

修改完成之后就可以使用bin/start.sh脚本启动tomcat了。

时间: 2024-10-11 13:23:02

tomcat启动多实例的相关文章

How Tomcat works — 五、tomcat启动(4)

前面摆了三节的姿势,现在终于要看到最终tomcat监听端口,接收请求了. 目录 Connector Http11Protocol JIoEndpoint 总结 在前面的初始化都完成之后,进行Connector的初始化,也是执行一些生命周期方法. Connector 在启动过程中这个类的主要作用是初始化并启动CoyoteAdapter和Http11Protocol: initInternal 新建一个CoyoteAdapter,并调用protocolHandler.setAdapter方法设置ad

tomcat启动时JVM内存大小,以免出现内存溢出

问题: 主要是2个内存溢出的错误. 首先是:java.lang.OutOfMemoryError: Java heap space 其次是:java.lang.OutOfMemoryError: PermGen space 最终解决办法[我是4G内存,请适当修改大小]: [Windows]在catalina.bat的第一行增加: set JAVA_OPTS=-Xms512m -Xmx900m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSiz

Tomcat单机多实例部署-多项目部署

博文说明[前言]: 本文将通过个人口吻介绍Tomcat单机多实例部署,在目前时间点[2017年8月13号]下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容. 本文参考文献及引用文章链接: 1.http://wiki.jikexueyuan.com/project/tomcat/ [Tomcat 8 权威指南-极客学院出品] 2.<Tomcat 权威指南> 2.http://www.cn

Tomcat探秘(4):tomcat启动过程详述

熟悉Tomcat的工程师们,或者从事Java开发的,肯定都知道Tomcat是如何启动和停止的.在Tomcat源码包里面有个bin目录,该目录下放置了一些很重要的脚本,Tomcat启动和停止的脚本程序就放在这里,分别是startup.bat.shutdown.bat(Windows环境)和start.sh.shutdown.sh(Linux.Unix环境).大家一定都知道如何使用它们,接下来就是研究一下它们是如何实现启动和停止服务的. 在实际的生产环境下,绝大多数的Tomcat都是部署在Linux

tomcat启动时SessionIdGeneratorBase.createSecureRandom耗时5分钟的问题

通常情况下,tomcat启动只要2~3秒钟,突然有一天,tomcat启动非常慢,要花5~6分钟,查了很久,终于在这篇文章找到了解决方案,博主牛人啊. 原文参见:http://blog.csdn.net/chszs/article/details/49494701 Tomcat 8启动很慢,且日志上无任何错误,在日志中查看到如下信息: Log4j:[2015-10-29 15:47:11] INFO ReadProperty:172 - Loading properties file from c

如何在tomcat启动时加载一个类

Tomcat启动时classloader加载顺序 Tomcat的class加载的优先顺序一览   1.最先是$JAVA_HOME/jre/lib/ext/下的jar文件.   2.环境变量CLASSPATH中的jar和class文件.   3.$CATALINA_HOME/common/classes下的class文件.   4.$CATALINA_HOME/commons/endorsed下的jar文件.   5.$CATALINA_HOME/commons/i18n下的jar文件.   6.

[转载]Tomcat单机多实例配置

Tomcat单机多实例配置 当一个进程的线程超过500个的话,那么这个进程的运行效率会变得很低.因为一个进程产生过多的线程,CPU资源会浪费在线程间切换过程当中.但当服务器配置很高的情况下,如:32G内存,16核的CPU.这样一台高配的机器上只装一个Tomcat实例,会有点浪费.其实我们可以根据服务器的硬件配置,配置多个Tomcat实例,充分利用硬件的资源.你第一时间可能会想到,直接下载多份Tomcat安装包,直接解压,改下端口跑起来不就可以了? 这样也是可以的,但不好维护.假设你在一台机器上安

tomcat启动过程分析

1.通过catalina.sh start脚本启动,调用org.apache.catalina.startup.Bootstrap的main方法,传人参数start,首先是创建一个Bootstrap的实例并付给static变量daemon,然后调用daemon的init方法,在init方法中设置catalina-home,catalina-base,之后根据catalina.properties的配置创建commonLoader(父loader为空).catalinaLoader.sharedL

docker+tomcat 启动时非常慢原因之JRE /dev/random阻塞

docker+tomcat 启动时非常慢,一般正常启动几十秒的,发现docker+tomcat启动竟需要几分钟,不可思议 根本原因是 SecureRandom 这个 jre 的工具类的问题.那为什么 SecureRandom generateSeed 这么慢,甚至挂在 Linux 操作系统呢? Tomcat 7/8 都使用 org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom 类产生安全随机类 SecureRando