深入Tomcat之 server.xml配置构成
上图转自 http://blog.51cto.com/blief/1754284
本文深入浅出的讲明了tomcat的xml配置文件,值得学习
简易结构
<server>
<service>
<Engine> //每个<service>只有一个<Engine>
<host> //可以有多个
<Realm>
</Realm>
<Context> //可以有多个
</Context>
</host>
</Engine>
<connectors> //可以有多个,但共享一个<Engine>
</connectors>
</service>
</server>
各组件说明
1.服务器(server)
是tomcat的具体实例
2.服务(service)
服务组件包含一个引擎和此引擎Engine相关联的一个或多个链接服务器Connector,对外提供服务
3.连接器(connectors)
可以配置多个连接器,但每个连接器都有不同的端口
以下为容器类组件
4.引擎(Engine)
可以自己接收用户的http请求,并构建响应报文,而且可以在内部处理java程序的整个套间
5.主机 (host)
主要配置域名,和虚拟主机
6.上下文 (Context)
配置项目的的真实路径
以下是截取apache-tomcat-8.0.45版本下的server.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--最外层Server,定义了关闭的端口-->
--><Server port="8005" shutdown="SHUTDOWN">
<!--监听器,实现更组件间通讯-->
<Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
<Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
<GlobalNamingResources>
<Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
</GlobalNamingResources>
<!--命名服务组件名称-->
<Service name="Catalina">
<!--连接器1,定义端口、支持协议,并且定义重定向端口-->
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
<!--连接器2,定义端口、支持协议,并且定义重定向端口-->
<!--可以定义多个连接器,但是端口号不能重复-->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
<!--命名引擎名称-->
<Engine defaultHost="localhost" name="Catalina">
<!--用来实现用户的认证和授权-->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
<!--name属性,设置主机的域名 unpackWARs属性设置如果为war包自动解压,
autoDeplop 设置为true,表示appBase目录(webapps)自动部署-->
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
<!--Host标签可以设置多个,方便多域名配置-->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/>
<!--docBase为项目真实路径 path表示项目通过浏览器访问路径,-->
<Context docBase="E:\tomcat\apache-tomcat-8.0.45\wtpwebapps\tt" path="/tt" reloadable="true" source="org.eclipse.jst.jee.server:tt"/>
</Host>
</Engine>
</Service>
</Server>
本文详细解析了Tomcat的server.xml配置文件,包括服务器、服务、连接器、引擎、主机和上下文等组件,以及相关配置参数的意义,如端口、协议、重定向端口等,帮助理解Tomcat的工作原理。
2570

被折叠的 条评论
为什么被折叠?



