Tomcat的配置文件service.xml

对于使用tomcat来说,配置是必不可少的,也是使用tomcat的基础,更是以后进行tomcat相关优化的必要途径

tomcat的所有配置文件都在tomcat的conf目录下,有以下配置文件:

目录

一、每个配置文件的说明:

二、service.xml


一、每个配置文件的说明:

1. catalina.policy 

包含由java Security Manager 实现的安全策略声明.它替换了安装java时带有的java.policy文件.这个文件用来防止欺骗代码或JSPs执行带有像System.exit(0)这样的命令的可能影响容器的破坏性代码. 只有当Tomcat用-security命令行参数启动时这个文件才会被使用. 

2. catalina.properties 

包含不能被像 java.* 或 org.apache.tomcat.*这样的servlets或jsps中的可执行java代码覆盖的java包的列表,这种覆盖可能成为安全隐患.还支持查找通用jars的设置 

3. context.xml 

这个通用context.xml可被所有的web应用程序使用.这个文件默认地可以设置到何处访问各web应用程序中的web.xml文件. 

    4.jaspic-providers.xml

        官方介绍: Tomcat实现了JASPIC 1.1维护版本B(JSR 196)。该实现主要用于实现第三方JASPIC身份验证实现与Tomcat的集成。 JASPIC可以由应用程序动态配置,也可以通过$CATALINA_BASE/conf/jaspic-providers.xml配置文件静态配置。如果存在, JASPIC配置将覆盖任何 <login-config>存在的web.xml

apache官方文档:http://tomcat.apache.org/tomcat-8.5-doc/config/jaspic.html

5. logging.properties 

JULI记录器使用默认日志配置. 它默认地使用ConsoleHandler和fileHandler设置应用程序 或者程序包的日志级别. 

6. sever.xml 

tomcat的主要配置文件. 解析器用这个文件在启动时根据规范"创建"容器 

7. tomcat-users.xml 

用于访问tomcat管理应用程序时的安全性设置. 用server.xml中引用的默认的用户数据库域(UserDatabase Realm)使用它. 所有的凭据都是默认被注释的. 

8.web.xml

它主要用来配置 Servlet、Filter 以及 Listener 等组件,以供 Web 容器(即 Tomcat)部署和执行 Web 应用。启动一个 Web 应用时,Tomcat 会首先读取它的 web.xml 配置文件

二、service.xml

配置文件的内容大致结构:

<Server port="8005" shutdown="SHUTDOWN"> <!--可包含一个或多个<Service>元素.-->
    <Service name="Catalina"> <!--需要不同端口部署不同应用时可配置多个Service --> 
        <Connector>
        .
        .
        .
        <Engine> <!--每个Service元素只能包含一个Engine元素--> 
            ...
            <Host>
                <!--tomcat日志文件的相关配置--> 
                <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" />
                
                <!--同一端口部署多个应用则复制多个Context-->
                <Context path="" docBase="" debug="0" reloadable="true"/> 
                ...
            </Host>
        </Engine>
    </Service>
</Server>

使用tomcat部署项目时关于service.xml的配置:

  • 配置Connector 。tomcat中的Connector:
    <!--只要将8080改为自己需要的端口号即可,线上常配置为80,bio连接-->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <!--  引用线程池的连接,如果使用,需要配置线程池
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    -->

    <!--  线程池配置
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="600" minSpareThreads="10"/>
    -->


    <!-- nio的连接方式
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>
    -->

    <!--  apr的连接方式
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150" SSLEnabled="true" >
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
                         certificateFile="conf/localhost-rsa-cert.pem"
                         certificateChainFile="conf/localhost-rsa-chain.pem"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>
    -->
    
    <!--ajp-->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    connector的常用参数:

prot :设定端口号,默认为8080.
protocol :设定HTTP协议,默认值为HTTP/1.1.
maxThreads:设定处理客户请求的线程的最大数目,,默认值为200.
acceptCount :设定在监听端口队列中的最大客户请求数,默认值为10.     如果队列已满,客户请求将被拒绝.
connectionTimeout :定义建立客户连接超时的时间,以毫秒为单位.如果设置为-1,表示不限制建立客户连接的时间.

更多connector的参数,参考官方文档:https://tomcat.apache.org/tomcat-8.0-doc/config/http.html

  • 配置context

<Context     path=""     docBase=""     debug="0"     reloadable="true">      

参数:
path  :指定访问该Web应用的URL入口.
docBase  :指定Web应用的文件路径.可以给定绝对路径,也可以给定相对于HostappBase属性的相对路径. 如果Web应用采用开放目录结构,那就指定Web应用的根目录;如果Web应用是个WAR文件,那就指定WAR文件的路径.
reloadable  :如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-INF/class和WEB-INF/lib目录下CLASS文件的改动.如果检测到有calss文件被更新,服务器会自动重新加载Web应用.

在<Context>元素中可以包含如下的子元素:
        <Logger>
        <Realm>
        <Valve>
        <Resource>
        <ResourceParams>

引用来源:

猜你喜欢

转载自blog.csdn.net/kavierPeng/article/details/86523168