tomcat配置说明

来源:互联网 发布:有淘宝优惠券的app 编辑:程序博客网 时间:2024/05/11 22:08

1、host和context的关系

1)一般情况下,当一个tomcat实例只部署一个应用的时候,我们可以不使用context,直接将项目放置在appbase的默认路径($CATALINA_BASE/webapps)即可,注意当不需要带项目名访问时,需要将其放在ROOT下面。

当然部署多个应用的时候,我们也可以不使用context,但是这样的话各应用的灵活性不够,不能为各个应用单独指定参数)

2)当一个tomcat实例要部署多个应用的时候,推荐使用context的方式部署,每个应用由context指定path和docbase,path表明应用的访问路径(为空时,即可以不带路径访问),docbase表明应用的具体位置,可以是webapps以外的其他地方。


推荐方式,不管是单个应用还是多个应用,建议都使用host+context的配置方式


2、appbase和docbase的关系

appbase是host虚拟主机指定的部署项目路径,它可以是绝对路径或相对路径,它下面的每一个目录将被当做一个应用来部署。

docbase是context指定具体项目的路径,它可以是绝对路径或相对路径。

tomcat启动时加载项目的顺序是,先加载context docbase目录指定的应用,后加载appbase路径下面的项目,网络上定时器重复加载的问题多半是这个地方重复加载导致的


3、单tomcat多实例配置说明

1)配置环境变量,tomcat的运行只需要配置如下环境变量

JAVA_HOME=/usr/local/jdk1.7.0_67
CATALINA_HOME=/usr/local/tomcat-7.0.57
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib
export JAVA_HOME CATALINA_HOME PATH CLASSPATH
将上述内容编写为一个.sh文件,放置在/etc/profile.d/目录下,即可在启动linux的时候,将环境变量配置好

2)目录结构,

a,CATALINA_HOME只需要两个目录即可,一个是bin,一个是lib

b,/usr/local/下面新增tomcat-instance目录

c,tomcat-intance下面新增应用的目录,如tomcat-webapp1,tomcat-webapp2,

d,tomcat-webapp1,tomcat-webapp2下面放置CATALINA_HOME目录下的conf,logs,temp,work,webapps(不放置应用),

e,/app/webapp1,/app/webapp2,用于放置应用

3)配置webapp1(webapp2)类推

a,tomcat-webapp1/conf目录下面的server.xml配置如下

<Server port="8005" shutdown="SHUTDOWN">  <Service name="Catalina">      <Executor name="tomcatThreadPool" namePrefix="HTTP-8080-exec-" maxThreads="200" minSpareThreads="10" maxIdleTime="60000"/>    <Connector port="8080" redirectPort="8443" protocol="HTTP/1.1" executor="tomcatThreadPool" connectionTimeout="20000" />    <Engine name="Catalina" defaultHost="localhost">      <Host name="localhost"  appBase="webapps" unpackWARs="false" autoDeploy="false">        <Context path="" docBase="/app/webapp1" reloadable="true" />      </Host>    </Engine>  </Service></Server>
注意两点:第一点,上面的配置,我们没有将webapp1直接放置在webapps目录下面,这样做的目的是防止应用重复加载,因为context和host都会执行应用;第二点,path=“”,即可以不带工程名直接访问应用

b,tomcat-webapp1目录下新增脚本

#! /bin/sh
export CATALINA_BASE=`pwd`
sh "$CATALINA_HOME"/bin/shutdown.sh

#! /bin/sh
export CATALINA_BASE=`pwd`
sh "$CATALINA_HOME"/bin/startup.sh



0 0