Tomcat的Server.xml详解

Tomcat的Server.xml配置详解

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
	<!-- Listener监听器 -->
	<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
	<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
	<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>
	<!-- Tomcat服务,name=Catalina,用于 绑定 连接器与 Engine -->
	<Service name="Catalina">
		<!-- 
			Tomcat连接器
			port:端口号
			protocol:协议
			connectionTimeout:连接超时时间(单位毫秒)
			redirectPort:如果使用https://来访问这个8080端口,就会重定向到8443这个端口,8443也得有对应的连接器,否则转发不过去
			minThread	服务器启动时创建的处理请求的线程数
			maxThread	最大可以创建的处理请求的线程数
			enableLookups	如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址
			acceptCount	指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
			SSLEnabled 是否开启 sll 验证,在Https 访问时需要开启。
		-->
		<Connector port="8080" protocol="HTTP/1.1"
				   connectionTimeout="20000"
				   redirectPort="8443" />
		<!--
			protocol="AJP/1.3",是Apache和Tomcat之间在进行反向代理的时候的一个私有协议(体积更轻,性能更快)
		-->
		<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
		
		<!--
			Engine引擎
			name="Catalina"核心引擎
			defaultHost:默认host,host就是虚拟主机,基于域名区分,当没有域名能区分的时候,就将请求发给默认的host
		-->
		<Engine name="Catalina" defaultHost="localhost">
			<!--
				Realm:领域
				UserDatabaseRealm将UserDatabase的数据注入到引擎中,便于引擎访问UserDatabase
			-->
			<Realm className="org.apache.catalina.realm.LockOutRealm">
			<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
				   resourceName="UserDatabase"/>
			</Realm>
			<!--
				appBase=webapps,这也就是为什么可以直接解析webapps的原因
				unpackWARs=true,存在war包则解析
				autoDeploy=false,自动部署
			-->
			<Host name="localhost"  appBase="webapps"
				unpackWARs="true" autoDeploy="true">
			<Logger /> <!-- 日志配置-->
			<!-- 
				上下文配置
				一个host 下可以配置多个Context ,每个Context 都有其独立的classPath。相互隔离,以免造成ClassPath 冲突。
			-->
			<Context "/test" path=""/> 
			<!--
				Valve:阀门也可以理解为一个过滤器,放在了host里面则服务于整个host,放在Context内则只服务于那一个Context
				作用:打印请求日志,IP过滤,限流等	
				具体配置要基于具体的Valve 接口的子类。以下即为一个访问日志的Valve.
			-->
			<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
				   prefix="localhost_access_log" suffix=".txt"
				   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
		  </Host>
		</Engine>
  </Service>
</Server>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您解释一下 Tomcat 配置文件 server.xml 的详细内容。 Tomcatserver.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 服务器的稳定性和安全性产生影响,因此在进行修改前应该备份该文件,并确保了解所做更改的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值