文档章节

服务器部署多个tomcat服务

阿山du
 阿山du
发布于 2014/10/18 21:38
字数 1171
阅读 168
收藏 3

    这个问题对于大部分人来说都很容易,而且在实际开发中用到的也比较多,所以如果觉得没什么难度,可以直接绕路了~

  1. 同一个tomcat下部署多个应用

        这个问题有几种解决方案,在实际应用中,可以根据自己情况选择不同的方式。

  • 把应用直接放在tomcat目录下的webapps下面,这样在tomcat启动的时候,就会把webapps目录下的所有应用都启动。
  • 在$CATALINA_BASE/conf/server.xml中进行配置,在tomcat中,每个应用都对应一个context,因此可以在server.xml中的<Host></Host>节点中添加一个context节点,用于配置项目信息。例如:
    <Context path="/appName" reloadable="true" docBase="D:\appName\WebContent" workDir="D:\appName\work"/>

        其中docBase配置的是项目的物理路径,workDir是应用的工作目录。

  • 自己手动创建一个context文件,放在$CATALINA_BASE/conf/Catalina/localhost/目录下,context文件的名称是以项目命名,即appName.xml,文件的内容和在server.xml配置的类似,例如:
    <Context path="/appName" reloadable="true" docBase="D:\appName\WebContent" workDir="D:\appName\work" />

    以上三种方式,自己用的比较多的是第三种,因为比较方便,也比较灵活,可以把自己的项目放在系统的任何位置,然后在$CATALINA_BASE/conf/Catalina/localhost/目录下放置一个该项目的配置文件appName.xml。这样就可以灵活的用tomcat加载自己需要的项目,如果项目暂时不用,只需要把配置文件appName.xml换成一个不可用的文件名,比如appName.xmlbak。

    2. 一台服务器部署多个tomcat

  • windows下配置方法
        多个tomcat如果想运行在一台服务器上面,那么tomcat所用到的端口就不能相同,所以,如果要想在一台服务器上面运行多个tomcat,就需要修改tomcat的端口,主要是修改$CATALINA_BASE/conf/server.xml中的配置。第一个是tomcat关闭端口,默认的是8005,这边我们修改为8006
    <Server port="8006" shutdown="SHUTDOWN">
        第二个需要修改的是连接端口,就是应用访问的端口,默认的8080,这边我们修改为8090

<Connector port="8090" maxHttpHeaderSize="8192"

               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

               enableLookups="false" redirectPort="8443" acceptCount="100"

               connectionTimeout="20000" disableUploadTimeout="true" />

        最后就是修改tomcat启动文件里面的环境变量配置信息,在修改之前还需要在系统的环境变量中新增加一个环境变量CATALITA_HOME2,然后把其中一个tomcat的/bin/startup.bat和/bin/catalita.bat中的CATALITA_HOME都替换成CATALITA_HOME2即可(这一步本人没做也能成功,打开startup.bat查看后,发现里面会判断系统是否有设置CATALITA_HOME环境变量,如果没有设置,则会用当前路径作为CATALITA_HOME,不知道这样理解的对不,有知道的大神,麻烦指点一下)。

        配置完成以后,分别运行两个tomcat的startup.bat,然后访问对应的路径和端口,可爱的小猫就会出现了。

  • Linux下配置方法
        Linux下配置步骤和windows下基本一样,其中修改tomcat的端口是一样的,都需要修改server.xml中的端口,这里就不再重复说明了,简单说一下配置环境变量

        Linux下配置环境环境是在/etc/profile文件中,首先打开这个文件,然后在文件中添加两个tomcat的配置信息。

# tomcat1  
CATALINA_BASE=/usr/local/tomcat1  
CATALINA_HOME=/usr/local/tomcat1
TOMCAT_HOME=/usr/local/tomcat1
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
#tomcat2
CATALINA_2_BASE=/usr/local/tomcat2  
CATALINA_2_HOME=/usr/local/tomcat2
TOMCAT_2_HOME=/usr/local/tomcat2
export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME
            修改完成后,保存一下退出即可,接下来需要修改tomcat下面的运行文件的配置信息,其中tomcat1保持不动,只需要修改tomcat2的即可。修改/bin/startup.sh和/bin/shutdown.sh文件,在文件中增加下面配置信息即可(这一步本人也是没有操作即可成功,查看脚本以后也是发现会自动获取当前路径作为CATALINA_HOME,所以即使不用设置,tomcat也能正常启动,如果理解的不对,大神勿喷,麻烦指点一下)。
export CATALINA_HOME=$CATALINA_2_HOME    
export CATALINA_BASE=$CATALINA_2_BASE
              这些配置全部配置完成以后,分别运行两个tomcat的startup.sh,然后通过网页访问对应路径和端口,我们可爱的小猫就呈现出来了。


© 著作权归作者所有

上一篇: 面试感想
下一篇: 2013年-年终总结
阿山du
粉丝 0
博文 11
码字总数 7555
作品 0
东城
程序员
私信 提问
求助:关于nginx 转发 双向SSL认证请求 的问题

大家好,对Web 部署方面不太了解,请教些问题: 我想在互联网上对外提供Web服务,现在申请有一个公网固定IP,想通过代理的方式,接受浏览器发过来的请求(基于虚拟域名和默认80端口),通过n...

malf
2014/02/21
1K
1
tomcatConnector配置

为什么会有多个Connector呢?我们部署服务器的时候,通常会有2种方式:1 直接部署tomcat,在浏览器中请求http与tomcat直连2 部署一个nginx作反向代理,tomcat与nginx直连这就是上面两种配置,...

无知的小狼
2018/09/27
9
0
同一服务器部署多个tomcat时的端口号修改详情

同一服务器部署多个tomcat时的端口号修改详情 标签: tomat 2015-06-18 22:50 10721人阅读 评论(0) 举报 分类: tomat 版权声明:本文为博主原创文章,未经博主允许不得转载。 同一服务器部署...

什么是程序员
2016/10/25
49
0
一台服务器部署多个tomcat端口号修改详情记录

同一台服务器部署多个tomcat时,存在端口号冲突的问题,所以需要修改tomcat配置文件server.xml 首先了解下tomcat的几个主要端口: 其中8080为HTTP端口,8443为HTTPS端口 8005为远程停服务端口...

郏高阳
2016/07/26
338
0
一台服务器上部署多个Tomcat

本地电脑需要跑多个Tomcat,将一个端口号修改为8000,一个修改为8001。在第一个跑成功之后第二个一直跑不成功。其实如果在一个服务器上如果部署多个Tomcat的话需要修改server.xml文件的三处配...

王子城
05/06
64
0

没有更多内容

加载失败,请刷新页面

加载更多

视频如何加水印?

很多视频制作者的视频都被他人盗用过,为了防止自己的劳动成果被他人窃取,给视频加水印对于视频制作者来说,是一件非常重要的事情。那么下面分享一个手机给视频加水印的方法,一起来看看吧!...

白米稀饭2019
31分钟前
5
0
004-Envelop-基于Blockstack的文件传输dapp

本篇文章主要介绍基于Blockstack的文件传输工具; ####A-链接地址 官网地址:https://envelop.app/ Github地址:https://github.com/envelop-app ####B-特性: 1: Share private files easil...

Riverzhou
33分钟前
7
0
SpringCloud——声明式调用Feign

Feign声明式调用 一、Feign简介 使用Ribbon和RestTemplate消费服务的时候,有一个最麻烦的点在于,每次都要拼接URL,组织参数,所以有了Feign声明式调用,Feign的首要目标是将Java HTTP客户端...

devils_os
39分钟前
7
0
《JAVA核心知识》学习笔记 (22. 数据结构)

22.1.1. 栈(stack) 栈( stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶 (top)。它是后进先出(LIFO)的。对栈的基本操作只有 push(进栈)和 pop(出栈...

Shingfi
45分钟前
6
0
你对AJAX认知有多少(1)?

AJAX(一) AJAX技术对于前段或者后端工程师来说,都是必不可缺的 那我们这几期都来细细品味一下AJAX的相关知识,直接上干货喽~ 1、什么是AJAX,为什么要使用Ajax(请谈一下你对Ajax的认识) 什么...

理性思考
52分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部