tomcat配置详解


server.xml配置#
server.xml是Tomcat的主配置文件,可以对Service, Connector, Engine, Realm, Valve, Hosts等主组件进行相关配置。



  
  
  
  
  
  

  


  
                   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" />
  

  
  

   
    
    
                   maxThreads="150" minSpareThreads="4"/>
    
    
    
                    connectionTimeout="20000"
               redirectPort="8443"
               executor="tomcatThreadPool" />
    
    
    
    
    
    
    
    
      
      
    
    
      
    
    

      
      

      
      
        
                        resourceName="UserDatabase"/>
      

      
      
                   unpackWARs="true" autoDeploy="true">

        
        

        
                        prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

        
      
    
  

web.xml配置#

Tomcat的conf目录下面的web.xml配置文件和我们平时应用中WEB-INF下面的配置web.xml功能一致,只是Tomcat下面的这个配置文件用来配置所有应用通用的配置,对所用应用生效。

配置默认servlet,Jsp处理器和一些其他的filter;
为所有的Web应用程序提供包括MIME映射;
并设置欢迎页面。
通常Tomcat下面的这个配置文件不需要我们自己另行做额外配置。

context.xml配置#
context组件是host组件的子组件。context.xml中的配置是所有host组件的通用配置,Tomcat的conf目录下的context.xml的内容,如下。(通常,这个配置文件也不需要我们做另外的配置)

logging.properties配置#
Tomcat日志相关的配置文件,不是重点。

tomcat-users.xml配置#
Tomcat提供了一个管理控制台,在控制台的manager的管理页面,我们能够查看到所有部署的应用的运行状态、也能管理应用的运行。当然,我们也能通过这个界面进行应用部署。

当然,想要通过这个界面进行应用管理和部署,需要用户进行登陆。这些配置就是在tomcat-users.xml中进行配置的。

Tomcat中支持的所有的用户管理角色有:


 








配置用户的角色、登录名和密码,需要在tomcat-users.xml中进行配置。

如果想要访问manager页面需要配置:



如果需要使用到远程部署等功能,需要添加上:



下面给出一个比较完整的配置列子,生产环境需要根据具体需求配置用户和角色。

  
   
  
  
  
  
  
  
  
  
  
  
  
 

jaspic-providers.xml配置#
关于jaspic-providers.xml配置,作用和tomcat-user.xml类似,都是实现用户认证的。Tomcat 实现了 JASPIC 1.1 Maintenance Release B 标准,并通过这个配置文件集成第三方 JASPIC 身份验证。

但是这个认证方式不怎么使用,大家不用太关注这个配置。

catalina.properties和catalina.policy配置#
这里面的很多配置是在Tomcat以安全模式启动时才会生效的,平时我们大多情况下都不会以安全模式启动Tomcat,所有很多配置可能用不太到。关于对Java中SecurityManager的介绍,大家可以参考下这边文章,比较浅显易懂。(这边留个问题,是否需要使用安全模式启动Java应用?)

不过catalina.properties中关于公共组件的配置,还是比较有用的,我们可以看下。

catalina.properties中的配置分为四个部分:

Tomcat加载类的顺序是:

Bootstrap--->System--->/WEB-INF/classes---> /WEB-INF/lib/*.jar---> Common--->Server--->Shared(先加载引入的包,在加载部署的应用)

所以加载完项目的WEB-INF的lib下面的Jar包后回来加载common下面的包。关于common loader,tomcat已经做了相关配置:

common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar"
 

上面的配置表示,common loader会加载catalina.base和catalina.home下面的class类和Jar包中的类。

关于server.loader和shared.loader,Tomcat并没有做出明确的配置,我们可以自己进行配置。比如:

server.loader=${catalina.base}/server/classes,${catalina.base}/server/lib/*.jar
shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar
 

上面的含义和common loader的含义一致。

平时我们的一些组件假如需要让所有Web应用依赖的话,我们就可以放在common.loader、server.loader和shared.loader指定的目录下面。

你可能感兴趣的:(tomcat,java)