tomcat核心配置文件server.xml核心元素的配置
来源:互联网 发布:淘宝对话生成 编辑:程序博客网 时间:2024/05/12 18:46
tomcat核心配置文件server.xml核心元素的配置
本篇文章,我们不打算对server.xml进行深入的讲解。因为就大多数实际开发者而言,对server.xml进行配置的操作少之又少。但是,作为
tomcat服务器的核心配置文件,server.xml中配置了一些我们开发中需要关注的关键的点。比如tomcat服务器的监听端口port="8080"。这篇文章的
目的就是从整体上介绍server.xml,对server.xml进行一个整体的认知。这样一来,“进”我们可以对server.xml进行配置,“退”我们可以说自己是
一名合格的程序猿。
一个基本的server.xml通常包含以下元素:Server、Service、Engine、Connector、Host、Context。这6大元素,通常是一个server.xml对外提供
服务的最简单配置,当然,Context元素并非必须,有些应用并没有配置Context元素节点。这样一看,server.xml配置文件也挺简单的嘛。好了,我们
来看一下这6大元素的相互之间的关联和配置说明。
一,6大元素的关联
跟节点Server:一个server.xml有且仅有一个跟节点<Server></Server>
Service:一个Server跟节点可以包含多个Service节点。Service节点是tomcat对外提供服务的基本单元。一个Service节点可以包含多个Connector
节点,但是只能包含一个Engine节点。
Engine:处理接收的请求。
Connector:从客户端接收请求。
Host:Host是Engine的子容器。一个Engine可以包含一个或者多个Host节点。每个Host节点代表一个虚拟主机。Host虚拟主机的功能是运行web应用,
包括装载、启动、结束web应用。每一个Host虚拟主机对应一个网络域名实体。
Context:Context节点代表指定虚拟主机上的一个web应用。Context是Host的子容器,一个Host节点可以包含一个或者多个Context节点。有些项目的
server.xml中没有配置Context节点,是因为Host节点配置了自动部署autoDeploy="true",关于这点,在下面还会提到。
二,6大元素的属性配置详解
1,跟节点Server:最常见的属性就是port和shutdown了,shutdown属性表示关闭Server的指令,port属性表示Server接收shutdown指令的端口号。
2,Service:最常见的属性就是name,通常的配置是name="Catalina"。
3,Engine:最常见属性是name和defaultHost,name属性用于日志和错误信息,在整个Server中是全局唯一的,defaultHost属性指定了默认的host
名称,当发往本机的请求指定的host名称不存在时,一律使用defaultHost指定的host进行处理。因此defaultHost的值必须与Engine节点下的某一个
Host节点的name属性值相同。
4,Connector:最常见属性有四个:port、protocol、connectionTimeout、redirectPort。port属性表示连接请求的端口号。protocol属性表示
连接请求的协议。connectionTimeout属性表示连接请求的超时时间。redirectPort属性表示当强制要求https而请求时http时,重定向至端口号为8443
的Connector。
5,Host:最常见属性有四个:name、unpackWARs、appBase、autoDeploy。name属性表示虚拟主机的主机名,注意,其中一个Host节点的name值与
Engine节点的defaultHost值相同。unpackWARs属性表示是否将代表web应用的WAR文件解压。如果值为true,则通过解压后的文件结构运行该web应用。
如果值为false,则直接使用WAR文件运行web应用。appBase属性表示web应用所在的目录,默认值是webapps,这是一个相对路径,代表的是tomcat跟
目录下webapps文件夹。autoDeploy属性表示开启web应用的自动部署,如果值为true,则tomcat在运行期间,定时检查新的web应用和更新。
6,Context:最常见的属性有三个:docBase、path、reloadable。docBase属性表示该web应用的WAR包所在路径或者说应用的目录,在自动部署场
景下,docBase不在appBase目录中,才需要指定,如果docBase指定的WAR包或应用目录就在appBase中,则不需要在指定docBase。因为tomcat会自动
扫描appBase中的WAR包和应用目录,指定了反而会造成问题。path属性表示访问该web应用的上下文路径,tomcat会根据web应用的path和URI来选择web
应用处理请求(例如/projectName/index.html)。reloadable属性表示tomcat是否在运行时监控/WEB-INF/classes和WEB-INF/lib目录下class文件的改
动,如果值为true,则当class文件改动时,tomcat会重新加载应用。在开发环境中reloadable设置为true便于调试,但是在生产环境中reloadable设置
为true则会影响服务器的性能,因此reloadable属性的默认值为false。
本篇文章到此为止,接下来,有时间小编还会和大家分享一下server.xml中其他非核心元素的配置细节,详情请参考小编的后续博文
《tomcat核心配置文件server.xml其他非核心元素的配置》
本篇文章,我们不打算对server.xml进行深入的讲解。因为就大多数实际开发者而言,对server.xml进行配置的操作少之又少。但是,作为
tomcat服务器的核心配置文件,server.xml中配置了一些我们开发中需要关注的关键的点。比如tomcat服务器的监听端口port="8080"。这篇文章的
目的就是从整体上介绍server.xml,对server.xml进行一个整体的认知。这样一来,“进”我们可以对server.xml进行配置,“退”我们可以说自己是
一名合格的程序猿。
一个基本的server.xml通常包含以下元素:Server、Service、Engine、Connector、Host、Context。这6大元素,通常是一个server.xml对外提供
服务的最简单配置,当然,Context元素并非必须,有些应用并没有配置Context元素节点。这样一看,server.xml配置文件也挺简单的嘛。好了,我们
来看一下这6大元素的相互之间的关联和配置说明。
只看理论,难免枯燥,先附上最近项目的一个demo的server.xml的部分配置代码:
<?xml version="1.0" encoding="UTF-8"?><Server port="8009" shutdown="SHUTDOWN"> <!-- Comment these entries out to disable JMX MBeans support used for the administration web application --> <Listener className="org.apache.catalina.core.AprLifecycleListener"/> <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/> <!-- Global JNDI resources --> <GlobalNamingResources> <!-- Test entry for demonstration purposes --> <Environment name="simpleValue" type="java.lang.Integer" value="30"/> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <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"/> <Resource driverClassName="com.ibm.db2.jcc.DB2Driver" maxActive="4" maxIdle="2" maxWait="5000" name="DefaultDataSource" password="aaa111" type="javax.sql.DataSource" url="jdbc:db2://127.0.0.1:50000/" username="test"/> </GlobalNamingResources> <!-- Define the Tomcat Stand-Alone Service --> <Service name="Catalina"> <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector URIEncoding="UTF-8" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="150" minSpareThreads="5" port="8080" redirectPort="8443"/> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector URIEncoding="UTF-8" enableLookups="false" port="8008" protocol="AJP/1.3" redirectPort="8443"/> <Engine defaultHost="localhost" name="Catalina"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"></Host> </Engine> </Service></Server>
一,6大元素的关联
跟节点Server:一个server.xml有且仅有一个跟节点<Server></Server>
Service:一个Server跟节点可以包含多个Service节点。Service节点是tomcat对外提供服务的基本单元。一个Service节点可以包含多个Connector
节点,但是只能包含一个Engine节点。
Engine:处理接收的请求。
Connector:从客户端接收请求。
Host:Host是Engine的子容器。一个Engine可以包含一个或者多个Host节点。每个Host节点代表一个虚拟主机。Host虚拟主机的功能是运行web应用,
包括装载、启动、结束web应用。每一个Host虚拟主机对应一个网络域名实体。
Context:Context节点代表指定虚拟主机上的一个web应用。Context是Host的子容器,一个Host节点可以包含一个或者多个Context节点。有些项目的
server.xml中没有配置Context节点,是因为Host节点配置了自动部署autoDeploy="true",关于这点,在下面还会提到。
二,6大元素的属性配置详解
1,跟节点Server:最常见的属性就是port和shutdown了,shutdown属性表示关闭Server的指令,port属性表示Server接收shutdown指令的端口号。
2,Service:最常见的属性就是name,通常的配置是name="Catalina"。
3,Engine:最常见属性是name和defaultHost,name属性用于日志和错误信息,在整个Server中是全局唯一的,defaultHost属性指定了默认的host
名称,当发往本机的请求指定的host名称不存在时,一律使用defaultHost指定的host进行处理。因此defaultHost的值必须与Engine节点下的某一个
Host节点的name属性值相同。
4,Connector:最常见属性有四个:port、protocol、connectionTimeout、redirectPort。port属性表示连接请求的端口号。protocol属性表示
连接请求的协议。connectionTimeout属性表示连接请求的超时时间。redirectPort属性表示当强制要求https而请求时http时,重定向至端口号为8443
的Connector。
5,Host:最常见属性有四个:name、unpackWARs、appBase、autoDeploy。name属性表示虚拟主机的主机名,注意,其中一个Host节点的name值与
Engine节点的defaultHost值相同。unpackWARs属性表示是否将代表web应用的WAR文件解压。如果值为true,则通过解压后的文件结构运行该web应用。
如果值为false,则直接使用WAR文件运行web应用。appBase属性表示web应用所在的目录,默认值是webapps,这是一个相对路径,代表的是tomcat跟
目录下webapps文件夹。autoDeploy属性表示开启web应用的自动部署,如果值为true,则tomcat在运行期间,定时检查新的web应用和更新。
6,Context:最常见的属性有三个:docBase、path、reloadable。docBase属性表示该web应用的WAR包所在路径或者说应用的目录,在自动部署场
景下,docBase不在appBase目录中,才需要指定,如果docBase指定的WAR包或应用目录就在appBase中,则不需要在指定docBase。因为tomcat会自动
扫描appBase中的WAR包和应用目录,指定了反而会造成问题。path属性表示访问该web应用的上下文路径,tomcat会根据web应用的path和URI来选择web
应用处理请求(例如/projectName/index.html)。reloadable属性表示tomcat是否在运行时监控/WEB-INF/classes和WEB-INF/lib目录下class文件的改
动,如果值为true,则当class文件改动时,tomcat会重新加载应用。在开发环境中reloadable设置为true便于调试,但是在生产环境中reloadable设置
为true则会影响服务器的性能,因此reloadable属性的默认值为false。
本篇文章到此为止,接下来,有时间小编还会和大家分享一下server.xml中其他非核心元素的配置细节,详情请参考小编的后续博文
《tomcat核心配置文件server.xml其他非核心元素的配置》
阅读全文
0 0
- tomcat核心配置文件server.xml核心元素的配置
- Tomcat核心server.xml配置
- 深度解析tomcat核心配置文件server.xml
- tomcat核心组件及server.xml配置讲解
- Tomcat 的server.xml配置文件基本配置
- Struts的核心struts-config.xml配置文件
- Struts的核心struts-config.xml配置文件
- mybatis核心配置文件mybatis-config.xml的配置方法和配置详情
- Hibernate中hibernate.cfg.xml核心配置文件配置
- Spring核心配置文件--application.xml
- tomcat配置文件server.xml详细配置
- tomcat server.xml <Connector>元素配置
- maven的核心配置文件
- Struts2的核心配置文件
- Struts2的核心配置文件
- 6web.xml核心控制器的配置
- conf下setting.xml的核心配置
- Tomcat配置文件server.xml中常用元素简介
- Cocos2d从入门到睡觉:学习(三)
- ios拒审4.3 python自动生成辣鸡代码
- 一分钟了解FEC筷云股份
- create 语句和insert 语句和update语句和select语句
- 加event与不加event
- tomcat核心配置文件server.xml核心元素的配置
- 注册页面基本控件及frame与frameset的使用
- JNI和NDK的关系
- select查询不到实际存在的表
- HTTPS请求过程
- Hadoop 大量小文件问题及解决方案
- 研读java编程思想--Thinking In Java笔记(一)
- WebStorm的快捷键-不完整
- Laravel 下 Angularjs 的安装