设为首页 收藏本站
查看: 427|回复: 0

[经验分享] tomcat 的 server.xml配置解

[复制链接]

尚未签到

发表于 2017-1-29 10:43:57 | 显示全部楼层 |阅读模式
<!--
它代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义.
它包含一个<Service>元素.并且它不能做为任何元素的子元素
port:指定一个端口,这个端口负责监听关闭tomcat的请求
shutdown:指定向端口发送的命令字符串
-->
<Server port="8005" shutdown="SHUTDOWN">

  
  <Listener className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" />
  
  <Listener className="org.apache.catalina.core.JasperListener" />
  
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  
  <GlobalNamingResources>
    <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>

  <!-- 指定service的名字
   -->
  <Service name="Catalina">
  
    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
    <!--
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="150" minSpareThreads="4"/>
    -->
   
   
    <!-- 表示客户端和service之间的连接
port:指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求
minProcessors:服务器启动时创建的处理请求的线程数
maxProcessors:最大可以创建的处理请求的线程数
enableLookups:如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,
若为false则不进行DNS查询,而是返回其ip地址
redirectPort:指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号
acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
connectionTimeout:指定超时的时间数(以毫秒为单位)
enableLookups:如果设为true,表示支持域名解析,可以把IP地址解析为主机名.WEB应用中调用
request.getRemoteHost方法返回客户机主机名.默认值为true
    -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
   

    <!-- Define an AJP 1.3 Connector on port 8009 -->
<!-- apache整合tomcat要用到这个接口   -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

<!-- Engine(表示指定service中的请求处理机,接收和处理来自Connector的请求)   -->
    <Engine name="Catalina" defaultHost="localhost">

     

      <!-- This Realm uses the UserDatabase configured in the global JNDI
           resources under the key "UserDatabase".  Any edits
           that are performed against this UserDatabase are immediately
           available for use by the Realm.  -->
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>

      <!-- Define the default virtual host
           Note: XML Schema validation will not work with Xerces 2.2.
       -->
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
        -->
<!--
<Context docBase="D:\test2" path="/test2"
        privileged="true" >
</Context>
-->
      </Host>

  <!--  host(表示一个虚拟主机)
  name:指定主机名
  appBase:应用程序基本目录,即存放应用程序的目录
  unpackWARs:如果为true,则tomcat会自动将WAR文件解压,
否则不解压,直接从WAR文件中运行应用程序
  alias:指定主机别名,可以指定多个别名
  className:指定实现Host接口的类.默认值为StandardHost
  autoDeploy;如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase
              下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用
  deployOnStartup:如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有
                   的Web应用.如果Web应用中的server.xml没有
                   相应的<Context>元素,将采用Tomcat默认的Context

  -->
  <Host name="www.xxx.com" appBase="D:/test"
            unpackWARs="true" autoDeploy="true" xmlValidation="false"
            xmlNamespaceAware="false">
          <Context docBase="D:/test/" path="/c1"
                   privileged="true" antiResourceLocking="false"
                   antiJARLocking="false" autodeploy="true">
          </Context>
<!-- Context(表示一个web应用程序,通常为WAR文件,关于WAR的具体信息见servlet规范)
docBase:应用程序的路径或者是WAR文件存放的路径
path:表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/****
reloadable:这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib
           和/WEB-INF/classes目录的变化,自动装载新的应用程序,
            我们可以在不重起  tomcat的情况下改变应用程序
    cookies:指定是否通过Cookies来支持Session,默认值为true
useNaming:指定是否支持JNDI,默认值为了true

-->
   <Context path="/book"
            docBase="D:\java_work\work_space\book\WebRoot"
reloadable="true"
debug="0"
workDir="D:\java_work\work_space\book\work" privileged="true">
   </Context>

      </Host>
  

    </Engine>
  </Service>
</Server>


Logger(表示日志,调试和错误信息) className 指定logger使用的类名,此类必须实现org.apache.catalina.Logger 接口
prefix 指定log文件的前缀
suffix 指定log文件的后缀
timestamp 如果为true,则log文件名中要加入时间,如下例:localhost_log.2001-10-04.txt
Realm(表示存放用户名,密码及role的数据库) className 指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口
     Valve(功能与Logger差不多,其prefix和suffix属性解释和Logger中的一样) className 指定Valve使用的类名,
     如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息
directory 指定log文件存放的位置
pattern 有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,
       发送的字节数。combined方式比common方式记录的值更多


<Engine>元素
每个Service元素只能有一个Engine元素.元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求.由org.apahce.catalina.Engine接口定义.
在<Engine>可以包含如下元素<Logger>, <Realm>, <Value>, <Host>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-334833-1-1.html 上篇帖子: axis与tomcat的版本问题 下篇帖子: tomcat出现out of memory错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表