tomcat配置文件server.xml含义说明
来源:互联网 发布:淘宝店铺过户近亲属 编辑:程序博客网 时间:2024/04/20 18:28
tomcat的配置文件一般都在conf文件夹里,主要有server.xml,context.xml,tomcat_user.xml,web.xml四个常用配置文件,server.xml主要是服务器设置的,例如端口设置,路径设置。
下面对server.xml中tomcat的默认配置进行说明,了解含义之后,就可以根据自己的实际情况进行修改。
各组件关系图:
<Server port="8005" shutdown="SHUTDOWN"><Server>Server即Catalina servlet组件,它是server.xml的最外层元素。
port="8005"——指定8005端口负监听tomcat的请求。若设置为-1,则禁止通过端口关闭Tomcat,同时shutdown.bat也不能使用。
shutdown="SHUTDOWN"——收到字符串"SHUTDOWN"表示关闭,修改shutdown的值,对shutdown.bat无影响。
<!-- Security listener. Documentation at /docs/config/listeners.html <Listener className="org.apache.catalina.security.SecurityListener" /> --> <!--APR library loader. Documentation at /docs/apr.html --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --> <Listener className="org.apache.catalina.core.JasperListener" /> <!-- Prevent memory leaks due to use of particular java/javax APIs--> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />Listener即监听器,负责监听特定的事件,当特定事件触发时,Listener会捕捉到该事件,并做出相应处理。Listener通常用在Tomcat的启动和关闭过程。Listener可嵌在Server、Engine、Host、Context内。
className=""——指定实现org.apache.catalina.LifecycleListener接口的类。
<GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <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>GlobalNamingResources用于配置JNDII(Java Naming and Directory Interface,Java命名和目录接口)。
<Service name="Catalina"></Service>Service包装Executor、Connector、Engine,以组成一个完整的服务。
className——指定实现org.apache.catalina. Service接口的类,默认值为org.apache.catalina.core.StandardService。
name———Service的名字。
Server可以包含多个Service组件。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />Connector是Tomcat接收请求的入口,每个Connector有自己专属的监听端口。port:"8080"——Connector监听客户服务的端口:8080。
protoco="HTTP/1.1"——Connector使用的协议(HTTP/1.1或AJP/1.3)。
connectionTimeout="20000"——每个请求的最长连接时间20000ms。
redirectPort="8443"——服务器正在处理Http请求时,为收到的SSL(Secure Sockets Layer 安全套接层)处理重定位端口:8443。
<Engine name="Catalina" defaultHost="localhost"></Engine>Service内必须包含一个Engine组件,Service包含一个或多个Connector组件,Service内的Connector共享一个Engine。
Engine负责处理Service内的所有请求。它接收来自Connector的请求,并决定传给哪个Host来处理,Host处理完请求后,将结果返回给Engine,Engine再将结果返回给Connector。
name:"Catalina"——Engine的名字。
defaultHost="localhost"——指定默认处理请求的虚拟主机名:localhost。要求和Host name定义一致。<Realm className="org.apache.catalina.realm.LockOutRealm"><Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
Realm可以理解为包含用户、密码、角色的”数据库”。Tomcat定义了多种Realm实现:JDBC Database Realm、DataSource Database Realm、JNDI Directory Realm、UserDatabase Realm等className:""——指定Realm 使用的类名,此类必须实现org.apache.catalina.Realm 接口<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>
Host负责管理一个或多个Web项目.name="localhost"——指定默认虚拟主机名:localhost。appBase="webapps"——默认Web源代码存放目录,可以是war文件或目录。(绝对路径、相对路径均可)unpackWARS="true"——是否自动将war文件解压,true-自动解压,false-直接从WAR文件运行Web项目。autoDeploy="true"——是否开启自动部署。设为true,Tomcat检测到appBase有新添加的Web项目时,会自动将其部署。其他属性:startStopThreads-线程池内的线程数量。Tomcat启动时,Host提供一个线程池,用于部署Web项目。
startStopThreads为0,并行线程数=系统CPU核数。
startStopThreads为负数,并行线程数=系统CPU核数+startStopThreads,如果(系统CPU核数+startStopThreads)小于1,并行线程数设为1。
startStopThreads为正数,并行线程数= startStopThreads。
startStopThreads默认值为1。
startStopThreads为默认值时,Host只提供一个线程,用于部署Host下的所有Web项目。如果Host下的Web项目较多,由于只有一个线程负责部署这些项目,因此这些项目将依次部署,最终导致Tomcat的启动时间较长。此时,修改startStopThreads值,增加Host部署Web项目的并行线程数,可降低Tomcat的启动时间。
Tomcat配置多Host可参考此文:http://grass51.blog.51cto.com/4356355/1123400
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />Valve可以理解为Tomcat的拦截器,而我们常用filter为项目内的拦截器。Valve可以用于Tomcat的日志、权限等。Valve可嵌在Engine、Host、Context内。
className=""——指定Valve 使用的类名,如用org.apache.catalina.valves.AccessLogValve 类可以记录应用程序的访问信息。
directory="logs"——指定log 文件存放的位置。
prefix=""——指定log 文件的前缀。
suffix=""——指定log 文件的后缀。
pattern=""——有两个值,common 方式记录远程主机名或ip 地址,用户名,日期,第一行请求的字符串,HTTP 响应代码,发送的字节数。combined 方式比common 方式记录的值更多。
- tomcat配置文件server.xml含义说明
- Tomcat Server.xml配置文件
- Tomcat Server.xml配置文件
- Tomcat配置文件server.xml
- Tomcat Server.xml配置文件
- Tomcat Server.xml配置文件
- Tomcat Server.xml配置文件
- Tomcat Server.xml配置文件
- tomcat配置文件server.xml
- Tomcat Server.xml配置文件
- Tomcat Server.xml配置文件
- Tomcat Server.xml配置文件
- Tomcat Server.xml配置文件
- tomcat配置文件server.xml
- tomcat server.xml 配置文件
- Tomcat的配置文件server.xml 中各个域的说明
- Tomcat的配置文件server.xml 中各个域的说明
- Tomcat的配置文件server.xml 中各个域的说明
- 生成试验数据的茎叶图,并显示不同区间数据的个数
- hover
- linux sed 匹配替换
- RandomAccessFile
- 网站程序员学习路线
- tomcat配置文件server.xml含义说明
- 关于python爬取笔趣阁网站上面完美世界小说
- Linux下DNS服务器的操作实例(正/反向解析,主/从服务器搭建)
- 证明吝啬SAT问题为NP完全问题。
- 枚举和file类的知识点
- wampserver遇到的问题
- Java线程
- 反射机制测试实体类User
- opencv播放视频