欢迎大家来到IT世界,在知识的湖畔探索吧!
server.xml配置文件
<Server port="8005" shutdown="SHUTDOWN"> <Service name="Catalina"> <Connector/> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context> </Context> </Host> </Engine> </Service></Server>
欢迎大家来到IT世界,在知识的湖畔探索吧!
Server节点
Server节点是server.xml的根元素,用于创建Server实例,代表整个Servlet容器组件,可包含一个或多个Service元素
属性
- port 端口
- shutdown 关闭服务器的指令字符串
子节点
内嵌子元素为Service、GlobalNamingResources和Listener
GlobalNamingResources定义了全局的命名服务
Listener用于为Server添加生命周期监听器
Service节点
用于创建Service实例
默认情况下,tomcat仅指定了Service的名称,值为Catalina
子节点
子节点为Listener、Executor、Connector、Engine
Executor用于配置Service共享线程池
Connector用于配置Service包含的链接器
Engine用于配置Service中链接器对应的Servlet容器引擎
Executor节点
默认没有配置共享线程池
欢迎大家来到IT世界,在知识的湖畔探索吧!<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
属性
- name Executor名称,唯一
- namePrefix 创建的线程名称前缀
- maxThreads 线程池中活动现成的最大数目
- minSpareThreads 备用线程的最小数量
Connector节点
默认配置了两个连接器,一个支持HTTP协议,一个支持AJP协议
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
属性
- port 端口号
- protocol 当前Connector支持的访问协议
- connectionTimeout 等待超时时间,-1表示不超时
- redirectPort 如果当前Connector支持non-ssl请求,并且接收到有个请求,符合约束,需要SSL传输,Catalina自动将请求重定向到此处指定的端口
- executor 线程池,指定线程池名称
- acceptCount 最大接收链接数,用于控制Socket的排队链接的最大个数,大于acceptCount时,将拒绝新的链接请求
- URIEncoding URI编码 默认为ISO-8859-1
- GZIP压缩 compression设置为on表示开启压缩 compressableMimeType表示指定哪些类型的响应可以压缩 compressionMinSize指定响应内容大小的限制,当响应大于该值时,才会压缩 noCompressionUserAgent用于指定正则表达式,对于user-agent头信息匹配的HTTP请求不进行压缩
- enableLookups true表示调用request.getRemoteHost()将执行DNS查询 false直接返回IP
Engine节点
为特定的Service组件处理所有用户请求
子节点
Cluster、Listener、Realm、Value、Host
属性
- name 指定Engine的名称,默认为Catalina
- defaultHost 默认使用的虚拟主机名称,当客户端请求指向的主机无效时,将交由默认虚拟主机处理。默认localhost
- jvmRoute 用于负载均衡场景下启用粘性会话,使得将来自于某个特定会话的请求定向到同一个Tomcat实例
Host节点
用于配置一个虚拟主机,一个Host代表一个Web站点,为特定的虚拟主机处理所有用户请求
子节点
Alias、Cluster、Listener、Value、Realm、Context
属性
- name 当前Host通用的网络名称,必须与DNS服务器上的注册信息一致
- appBase 当前Host的应用基础目录,默认为webapps
- unpackWARs true表示Host在启动时会将appBase目录下的WAR包解压成目录 false直接从WAR文件中启动web应用
- autoDeploy true表示tomcat将定期检查appBase和xmlBase目录,部署新发现的web应用或者context描述文件
Context节点
用于配置web应用,相当于web站点中的虚拟子目录,为特定的Web应用处理所有用户请求
子节点
CookieProcessor、Loader、Manager、Realm、Resources、WatchResource、JarScanner、Value
属性
- docBase web应用目录或者WAR包的部署路径
- path web应用的context路径
- className 指定实现Context组件的java类的名字,该类需要实现org.apache.catalina.Context接口,默认为org.apache.catalina.core.StandardContext
- reloadable 如果为true,则Tomcat服务器在运行时会监视WEB-INF/classes和WEB-INF/lib下class文件的改动,以及Web应用中WEB-INF/web.xml文件的改动,如果改动,服务器自动重新加载web应用,默认为false
欢迎大家来到IT世界,在知识的湖畔探索吧!<!-- 将d:\myweb目录映射到Web站点的/test虚拟子目录上 -->
<Context path="/test" docBase="d:\myweb">
CookieProcessor节点
用于将HTTP请求中的cookie头信息转为javax.servlet.http.Cookie对象,或者将Cookie对象转为HTTP响应中的Cookie头信息
Loader节点
用于配置当前Context对应的web应用的类加载器,默认为org.apache.catalina.loader.WebappLoader
属性
- delegate 控制类加载顺序 true表示采用标准的java委派模式加载类,先尝试从父类加载器加载,然后才会从web应用的类加载器加载 false先从web应用的类加载器加载,然后从父类加载器加载 默认false
- reloadable true catalina监控WEB-INF/classes和WEB-INF/lib的变更,自动重新加载web应用
- loaderClass 指定Loader创建的web应用类加载器的具体实现
Manager节点
用于配置当前web应用的会话管理器
tomcat提供了独立管理和集群管理两种方式
独立会话管理器
- org.apache.catalina.session.StandardManager 简单的会话存储,在Tomcat正常停止时,会将所有会话串行化到一个文件(默认SESSION.ser),在Tomcat启动时,加载有效会话
- org.apache.catalina.session.PersistentManager 在每次会话过期检测之后,将超过配置数量的活跃会话以及空闲会话持久化到文件或者数据库,即使tomcat强制关闭,也只会丢失没有持久化的会话包含两种会话持久化存储方案
- org.apache.catalina.session.FileStore<Context docBase=“myApp” path=“/myApp”> <Manager className=“org.apache.catalina.session.PersistentManager” saveOnRestart=“true” maxActiveSession=“-1” minIdleSwap=“30” maxIdleBackup=“0”> <Store className=“org.apache.catalina.session.FileStore” directory=“sessions”></Store> </Manager> </Context>
- org.apache.catalina.session.JDBCStore<Context docBase=“myApp” path=“/myApp”> <Manager className=“org.apache.catalina.session.PersistentManager” saveOnRestart=“true” maxActiveSession=“-1” minIdleSwap=“30” maxIdleBackup=“0”> <Store className=“org.apache.catalina.session.JDBCStore” driverName=“com.mysql.jdbc.Driver” connectionURL=“jdbc:mysql://localhost:3306/demo?user=&password=” sessionTable=“session_table” sessionIdCol=“id” sessionDataCol=“data” sessionValidCol=“valid” sessionMaxInactiveCol=“” sessionLastAccessedCol=“” sessionAppCol=“”></Store> </Manager> </Context>
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/22004.html