一个机器部署多个tomcat
如何在一台机器上部署多个tomcat
第一种:
如何在同一个机器上部署多个tomcat?
回:
单独部署一个toncat不做任何改动,然后根据需求将要部署的tomcat进行部署,如果额外需要2个就再部署两个tomcat, 然后将其中的 tomcat本身的Service Port,部署的系统对应的Connector Port ,AJP 1.3 Connector Port,一一修改后 再一一启动即可
tomcat构造
$CATALINA_HOME是Tomcat的安装目录,$CATALINA_BASE是Tomcat的工作目录 CATALINA_LOG 是日志存放位置 此三个要素回贯穿tomcat的整个流程
/bin 存放用于启动及关闭的文件,以及其他一些脚本。/conf 配置文件及相关的 DTD。其中最重要的文件是 server.xml,这是容器的主配置文件。 /log 日志文件的默认目录。 /webapps 存放 Web 应用的相关文件 war包文件之类的
部署多个tomcat
如果需要部署3个tomcat就下载3个
然后修改每一个tomcat中的conf/service.xml文件配置
然后再修改Connector端口
Connector
Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程让Engine来处理这个请求,并把产生的Request和Response对象传给Engine。
通过配置Connector,可以控制请求Service的协议及端口号。在第一部分的例子中,Service包含两个Connector:
然后修改 AJP服务端口 此处是提供和ap
通过配置第2个Connector,客户端可以通过8009端口号使用AJP协议访问Tomcat。AJP协议负责和其他的HTTP服务器(如Apache)建立连接;在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。之所以使用Tomcat和其他服务器集成,是因为Tomcat可以用作Servlet/JSP容器,但是对静态资源的处理速度较慢,不如Apache和IIS等HTTP服务器;因此常常将Tomcat与Apache等集成,前者作Servlet容器,后者处理静态资源,而AJP协议便负责Tomcat和Apache的连接
然后把bin目录下对应的sh脚本都赋予可执行权限
startup脚本以start参数调用了catalina脚本,shutdown脚本以stop参数调用了catalina脚本
shutdown.sh 停止服务
catalina.sh tomcat参数配置
startup.sh 启动tomcat
如果想要设置tomcat启动内存之类的可以再catalina.sh中加入jvm配置
在catalin.sh首行加入
JAVA_OPTS='-server -Xmx2048m -Xms2048m -Xmn328m -Xss521k -XX:PermSize=256m -XX:MaxPermSize=256m' -Xmx设置jvm最大启动内存最大是2g -Xms设置jvm的初始内存 -Xmn 年青代大小为328m ,整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大 -Xss 设置每个线程的堆栈大小 PermSize JVM初始分配的非堆内存 MaxPermSize 持久代为256m -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了 -Xms128m JVM初始分配的堆内存 -Xmx512m JVM最大允许分配的堆内存,按需分配 -XX:PermSize=64M JVM初始分配的非堆内存 -XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配
然后启动对应的tomcat的脚本即可进行对应的不同的tomcat启动