server.xml详解

学习tomcat,就一定要了解这些配置文件,也能为以后学习框架打好良好的基础
在conf目录中,有几个常用的配置文件
1.sever.xml
server.xml中的每一个标签都对应了Tomcat的一个组件,学习xml文件中标签的配置,可以实现对tomcat各个组件的控制。学习server.xml文件的配置,对于了解和使用tomcat至关重要。

1.server.xml文档的元素和分类的整体结构

<Server>
	<Service>
		<Connector></Connector>
		<Engine>
			<host>
				<Context/>这个标签很重要,现在常常使用自动部署,不推荐在server.xml中配置这个
				这个标签!自动部署后面会将。
			</host>
		</Engine>
	</Service>
</Server>

2.元素分类

顶层元素<Server>是整个配置文件的根元素。
连接器<Connector>简单点说就是接受客户的发起的请求接口的连接器。用来接收请求
处理请求的容器<engine><host><context>
容器的功能是处理connector接受客户的发起的请求,然后进行处理和响应。
在server.xml配置文件中,只能有一个Engine标签。一个Engine标签处理一个可以处理
service中的所有请求,
一个host标签可以处理一个特定的虚拟主机的所有请求。
一个context标签可以处理一个web应用(web项目)发起的所有请求。
上面的这些标签都是最重要的核心标签,也可以说是元素或者组件。

3.核心组件

1.service代表整个Tomcat容器,主要任务是,提供一个接口让客户的能客户的访问,,
比如生命周期,如何初始化,如何结束服务,如果找到客户端要访问的service。
:简单点说就是关闭时调用8005端口
Port:端口
shutdown:关闭

2.Server :可以有多个service,不同的的service监听不同的端口
处理所有由Tomcat服务器发起的web请求
name:属性定义了service的名字

		3.Connector
	主要任务是,接收客户的发起的请求,在客户的发起请求时创建request和response两个对象,然后线程让Engine来处理发起的请求,并把request和response对象传给Engine。
	通过配置Connector,可以控制请求的端口号和协议。
		<Connector port="8080" protocol="http/1.1" connectionTimeout="2000"redirectPort="8443"</>
	客户端是通过8080端口使用http协议访问tomcat的。
	port:访问tomcat时的端口
	protocol:协议
	connectionTimeout:和客户的建立连接的最大时间,超过
	redirectPort:翻译过来就是转发端口,如果请求是https是,
	那么转发到端口8843的connector,简单点说就是转发到请求端口为8843的连接器。
	 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
	 通过8009端口来使用ajp协议来访问Tomcat。在把Tomcat与其他HTTP服务器集成使用来,就需要用到这个连接器。
	 之所以用和其他服务器集成,因为tomcat作为Servlet/jsp的容器,对静态资源处理速度比较慢,
	 不如Apache和LLS等HTTP服务器;因此常常将tomcat与Apache服务器集成,Tomcat用作容器,
	 Apache处理静态资源,AJP这个连接器用于tomcat和Apache的连接。
	 简单点解释就是和其他集成服务器和tomcat建立连接的连接器,好像可以删掉。
	 
	4.Engine
	<Engine name="Catalina" defaultHost="localhost"></Engine>
	从Connector中接收请求并处理的标签.
	name:属性是唯一的,是管理所有虚拟主机的,只能有一个。
	defaultHost:可以解释为默认ip地址映射域名,这个域名映射的ip就是本机ip 127.0.0.1。这个域名必须要和host(主机)上的name属性一致,且必须是唯一
	5.<Host>
	<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"></Host>
	host简单点说就是一个虚拟主机,作用是运行多个web应用,也就是项目。
	在这个标签中,有几个属性
	appBase:简单点说就一个当前虚拟主机的存放web应用的目录,如果开启了自动部署,那么服务器首先会检查在该目录下是否有这个web应用,如果没有,那么会添加当前的web文件夹,会将webContent下的所有内容都添加在这里,有就不添加了。
	autoDeploy:简单点说就是自动部署,
	name:指定是这个虚拟主机的域名,可以有多个host(虚拟主机),每个虚拟主机的域名都是唯一,
	但是必须有一个虚拟主机的域名对应Engine的defaultHost属性总的域名。
	autoDeploy是和appBase有关的。
	如果开启了自动部署,那么在服务器运行web时,当检测到新的web应用或者是web应用更新了,
	那么会将当前的web应用部署到中的webContent中的文件先部署到webapps目录中,然后生成在当前虚拟主机域名下生成一个当前web应用.xml的配置文件。
	比如,我有一个新news项目,如果开启了自动部署,在tomcat中运行这目录时,会在webapps目录下生成一个news文件,然后在当前虚拟主机域名目录下生成一个xml配置文件。
	比如我当前的虚拟主机name就是localhost,在conf/catalina目录下的localhost目录下生成一个当前项目.xml文件,
	然后在webapps目录下部署当前的项目。比如这个项目就是news,那么会生成一个news的文件夹。
	catalina文件就是当前Engline中的name属性对应的属性值文件。
	
	6.<Context>
	<Context docBase="Ajax与jQuery" path="/Ajax与jQuery" reloadable="true" source="org.eclipse.jst.jee.server:Ajax与jQuery"/><Context docBase="golf" path="/golf" reloadable="true" source="org.eclipse.jst.jee.server:golf"/><Context docBase="news_chapter10_01" path="/news" reloadable="true" source="org.eclipse.jst.jee.server:news_chapter10_01"/></Host>
	Context标签指的是在一个特定虚拟主机上运行的web应用,context是host标签的子容器,每个host都可以有任意个context标签,
	换句话来说就是一个特定虚拟主机上可以运行多个web应用,那么也就会有多个对应的context标签。
	appBase:指的是一个web应用的所在的目录。可以是绝对路径,也可以是基于webapps下的相对路径。
	path:也是路径,是web应用的目录,必须指定为当前项目的根目录,不能随便指定。在网站访问时,就是根据这个路径匹配项目。
	reloadable:指的是tomcat是否在运行时监控WEB-INI/CLASS和lib/class文件的改动,如果为true,那么当class未见改动时,
	会web应用会重新加载。设置为true便于调试,但是在生产环境中设置为true会给服务器带来性能压力。
好的,我可以为您解释一下 Tomcat 配置文件 server.xml 的详细内容。 Tomcat 的 server.xml 是一个核心配置文件,它用于配置 Tomcat 服务器的基本设置和各种连接器。以下是 server.xml 文件的一些主要配置内容: 1. Server 元素:定义 Tomcat 服务器的全局设置,如 HTTP 端口、AJP 端口、最大线程数等。 2. Service 元素:定义 Tomcat 服务器中的服务,一个 Tomcat 可以有多个服务,每个服务可以包含多个连接器。 3. Connector 元素:定义 Tomcat 服务器中的连接器,包括 HTTP 连接器、AJP 连接器等。通过配置该元素可以指定连接器的端口、协议、编码等相关属性。 4. Engine 元素:定义 Tomcat 服务器中的引擎,一个 Tomcat 可以包含多个引擎,每个引擎可以包含多个虚拟主机。 5. Host 元素:定义 Tomcat 服务器中的虚拟主机,通过该元素可以配置虚拟主机的别名、主机名、应用程序等相关属性。 6. Context 元素:定义 Tomcat 服务器中的 Web 应用程序,通过该元素可以配置 Web 应用程序的部署路径、上下文路径、会话管理等相关属性。 除了上述主要元素外,server.xml 文件还包含一些其他配置内容,如 Realm 元素、Valve 元素、Listener 元素等,这些元素用于配置 Tomcat 服务器的一些扩展功能,如身份验证、日志记录、监听器等。 需要注意的是,修改 server.xml 文件可能会对 Tomcat 服务器的稳定性和安全性产生影响,因此在进行修改前应该备份该文件,并确保了解所做更改的影响。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值