共计 3944 个字符,预计需要花费 10 分钟才能阅读完成。
Tomcat目录中的 server.xml 配置文件
server.xml称为主配置文件或全局配置文件
它完成以下两个目标:
1,提供 Tomcat 组件的初始化配置
2,说明 Tomcat 的结构和含义,使得 Tomcat 通过实例化组件完成启动及构建自身
代码解析如下:
<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.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<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>
<!-- 定义的一个名叫“UserDatabase”的认证资源,将 conf/tomcat-users.xml 加载至内存中,在需要认证的时候到内存中进行认证 -->
<Service name="Catalina">
<!-- # 定义 Service 组件,同来关联 Connector 和 Engine,一个 Engine 可以对应多个 Connector,每个 Service 中只能一个 Engine --!>
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<!-- 修改 HTTP/1.1 的 Connector 监听端口为 8080. 客户端通过浏览器访问的请求,只能通过 HTTP 传递给 tomcat。-->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<!-- 修改当前 Engine,默认主机是 localhost -->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<-- Realm 组件,定义对当前容器内的应用程序访问的认证,通过外部资源 UserDatabase 进行认证 -->
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<!-- 定义一个主机,域名为:localhost,应用程序的目录是 webapps,设置自动部署,自动解压 -->
<Context path=""docBase=""/usr/local/tomcat/webfile"" reloadable="true" />
<!-- 定义该应用程序,访问路径 "“,并且当该应用程序下 web.xml 或者类等有相关变化时,自动重载当前配置,即不用重启 tomcat 使部署的新应用程序生效 -->
<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 的访问日志,日志存放目录为:logs 如果定义为相对路径则是相当于 $CATALINA_HOME,并非相对于 appBase,
这个要注意。定义日志文件前缀为 localhost_access_log 并以.txt 结尾,pattern 定义日志内容格式,具体字段表示可以查看 tomcat 官方文档 -->
</Host>
</Engine>
</Service>
</Server>
标签功能如下:
server 标签:根元素,它代表整个容器 , 是Tomcat实例的顶层元素 . 由org.apache.catalina.Server接口来定义 . 它包含一个 <Service> 元素 . 并且它不能做为任何元素的子元素.(其直接子元素有 3 个)
Listener 标签:监听器,用来管理 Tomcat 生命周期和全局资源
GlobalNamingResources 标签:配置系统的 JNDI
Service 标签 : 该元素由 org.apache.catalina.Service 接口定义 , 它包含一个 <Engine> 元素 , 以及一个或多个 <Connector>, 这些 Connector 元素共享用同一个 Engine 元素(其直接子元素 2 个)
Connector 标签:连接器,代表外部客户之间的接口,将在一个指定的接口上侦听客户请求,将请求给 Engine 进行处理Connector 之间的 port 不能重复,否则会报 JVM BIND 端口号冲突的问题
Enger 标签 :引擎, 每个 Service 元素只能有一个 Engine 元素 . 元素处理在同一个 <Service> 中所有 <Connector> 元素接收到的客户请求 . 由org.apahce.catalina.Engine接口定义 . 处理 server 中所有的客户请求(其直接子元素 3 个)
Realm标签 : 定义对当前容器内的应用程序访问的认证,通过外部资源 UserDatabase 进行认证
Logger标签:
Host标签 : 它由 Host 接口定义 . 一个 Engine 元素可以包含多个 <Host> 元素 . 每个 <Host> 的元素定义了一个虚拟主机 . 它包含了一个或多个 Web 应用 . 虚拟主机处理一个特定的主机请求(其直接子元素 2 个)
Logger标签:日志和错误信息
Context标签 :web 应用组, 它由 Context 接口定义 . 是使用最频繁的元素 . 每个 <Context 元素代表了运行在虚拟主机上的单个 Web应用 . 一个 <Host> 可以包含多个 <Context> 元素 . 每个 web 应用有唯一的一个相对应的 Context 代表 web 应用自身 .servlet 容器为第一个 web 应用创建一个 ServletContext 对象 . 当一个 web 应用被初始化时,它将用自己的 classLoader 对象载入”web.xml“中定义的每个 Servlet 类。在 <Context> 元素中可以包含如下元素<Logger>, <Realm>, <Resource>, <ResourceParams>
更多 Tomcat 相关教程见以下内容:
CentOS 6.6 下安装配置 Tomcat 环境 http://www.linuxidc.com/Linux/2015-08/122234.htm
RedHat Linux 5.5 安装 JDK+Tomcat 并部署 Java 项目 http://www.linuxidc.com/Linux/2015-02/113528.htm
Tomcat 权威指南(第二版)(中英高清 PDF 版 + 带书签) http://www.linuxidc.com/Linux/2015-02/113062.htm
Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm
Linux 下使用 Xshell 查看 Tomcat 实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm
CentOS 64-bit 下安装 JDK 和 Tomcat 并设置 Tomcat 开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm
CentOS 6.5 下安装 Tomcat http://www.linuxidc.com/Linux/2015-01/111415.htm
Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-05/131650.htm