Tomcat配置讲解

1.conf/server.xml进行讲解

1.1server根目录

<!--
    port:关闭服务的监听端口
    shutdown:关闭服务器的指令字符串
-->
<Server port="8005" shutdown="SHUTDOWN">
  <!-- 以日志形式输出服务器、操作系统、JVM版本信息   -->
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!--   加载(服务器启动)和销毁(服务器停止)APR。如果找不到APR库,则会输出日志,并不影响Tomcat启动 -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!-- 避免JRE内存泄漏 -->
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <!-- 加载(服务器启动)和销毁(服务器停止)全局命名服务 -->
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <!-- 在context停止时重建Executor池中的线程,以避免ThreadLocal相关的内存泄漏 -->
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  <!-- 全局命名服务 -->
  <GlobalNamingResources>
    <!-- 这个resource主要是把登录的用户放到tomcat-user.xml里面 -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

上面的xml文件讲解的很清晰了,不过这5个监听器是必要的页无需改动

1.2 server的目录

server目录包含connector和Container
Container包含:Engine标签,Host标签,Context标签
connector:可以使用这个连接容器service
Engine:这个可以默认选用那个虚拟机
Host:这个虚拟机
Context:这个表示的是这个虚拟机走哪个war包

<Context docBase="ROOT" path="/root"  reloadable="true" ></Context>
<Context docBase="ROOT-TEST" path="/test"  reloadable="true" ></Context>

可以再tomcat找webapps找ROOT文件夹,可以通过连接找到这个文件夹
http://sun.jian.hua:8080/root/
其中sun.jian.hua是指对应的虚拟机

http://sun.jian.hua:8080/test/ 这个可以找tomcat的webapps的ROOT-TEST文件夹

配置虚拟机

<Host name="sun.jian.hua"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
       <Context docBase="ROOT" path="/root"  reloadable="true" ></Context>
       <Context docBase="ROOT-TEST" path="/test"  reloadable="true" ></Context>
       <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

在这里插入图片描述
在hosts文件下面添加------>127.0.0.1 sun.jian.hua

下面是server的目录下的配置

<server>
<!-- 默认情况下,Service并添加共享线程池配置。如果我们想添加一个线程池,可以在<Service>下添加如下配置:
    name:线程池名称,用于Connector中指定
    namePrefix:所创建的每个线程的名称前缀,一个单独的线程名称为namePrefix+threadNumber
    maxThreads:池中最大线程数
    minSpareThreads:活跃线程数,也就是核心池线程数,这些线程不会被销毁,会一直存在
    maxIdleTime:线程空闲时间,超过该时间后,空闲线程会被销毁默认值为6000(1分钟)单位毫秒
    maxQueueSize:在被执行前最大线程排队数目,默认为Int的最大值
    prestartminSpareThreads:启动线程池时是否启动minSpareThreads部分线程,默认为false
    threadPriority:线程池中线程优先级,默认为5,值从1到10
    className:线程池实现类,未指定情况下,默认实现类org.apache.catalina.core.StandartThreadExecutor。如果想使用自定义线程池首先需要实现org.apache.catalina.Executor接口 -->
    <Executor name="commonThreadPool"
        namePrefix="thread-exec-"
        maxThreads="200"
        mixIdleTime="6000"
        maxQueueSize="Integer.MAX_VALUE"
        prestartminSpareThreads="false"
        threadPriority="5"
        className="org.apache.catalina.core.StandardThreadExecutor"
        >


    <!-- 如果executor没有出现,tomcat可以自己维护自己的一个线程池 -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               executor="commonThreadPool"
               redirectPort="8443" />
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
</server>
<!-- name:用于指定Engine的名称,默认为Catalina
    defaultHost:默认使用的虚拟主机名称,当客户端请求指向的主机无效时,将交由默认的虚拟主机处理,默认为localhost -->
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <!-- host标签由于配置一个虚拟主机 -->
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
      <Host name="sun.jian.hua"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context docBase="ROOT" path="/root"  reloadable="true" ></Context>
        <Context docBase="ROOT-TEST" path="/test"  reloadable="true" ></Context>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sun_lianShuang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值