Tomcat配置文件server.xml分析
2018-07-06 01:24:45来源:博客园 阅读 ()
本文力求,分析清楚 tomcat 的 server.xml 文件,逐步完善更新
常用来,配置tomcat启动,端口号;配置编码等。
apache-tomcat-9.0.10/conf/server.xml 文件如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!-- 3 Licensed to the Apache Software Foundation (ASF) under one or more 4 contributor license agreements. See the NOTICE file distributed with 5 this work for additional information regarding copyright ownership. 6 The ASF licenses this file to You under the Apache License, Version 2.0 7 (the "License"); you may not use this file except in compliance with 8 the License. You may obtain a copy of the License at 9 10 http://www.apache.org/licenses/LICENSE-2.0 11 12 Unless required by applicable law or agreed to in writing, software 13 distributed under the License is distributed on an "AS IS" BASIS, 14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 See the License for the specific language governing permissions and 16 limitations under the License. 17 --> 18 <!-- Note: A "Server" is not itself a "Container", so you may not 19 define subcomponents such as "Valves" at this level. 20 Documentation at /docs/config/server.html 21 --> 22 <Server port="8005" shutdown="SHUTDOWN"> 23 <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> 24 <!-- Security listener. Documentation at /docs/config/listeners.html 25 <Listener className="org.apache.catalina.security.SecurityListener" /> 26 --> 27 <!--APR library loader. Documentation at /docs/apr.html --> 28 <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> 29 <!-- Prevent memory leaks due to use of particular java/javax APIs--> 30 <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> 31 <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> 32 <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> 33 34 <!-- Global JNDI resources 35 Documentation at /docs/jndi-resources-howto.html 36 --> 37 <GlobalNamingResources> 38 <!-- Editable user database that can also be used by 39 UserDatabaseRealm to authenticate users 40 --> 41 <Resource name="UserDatabase" auth="Container" 42 type="org.apache.catalina.UserDatabase" 43 description="User database that can be updated and saved" 44 factory="org.apache.catalina.users.MemoryUserDatabaseFactory" 45 pathname="conf/tomcat-users.xml" /> 46 </GlobalNamingResources> 47 48 <!-- A "Service" is a collection of one or more "Connectors" that share 49 a single "Container" Note: A "Service" is not itself a "Container", 50 so you may not define subcomponents such as "Valves" at this level. 51 Documentation at /docs/config/service.html 52 --> 53 <Service name="Catalina"> 54 55 <!--The connectors can use a shared executor, you can define one or more named thread pools--> 56 <!-- 57 <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 58 maxThreads="150" minSpareThreads="4"/> 59 --> 60 61 62 <!-- A "Connector" represents an endpoint by which requests are received 63 and responses are returned. Documentation at : 64 Java HTTP Connector: /docs/config/http.html 65 Java AJP Connector: /docs/config/ajp.html 66 APR (HTTP/AJP) Connector: /docs/apr.html 67 Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 68 --> 69 <Connector port="8080" protocol="HTTP/1.1" 70 connectionTimeout="20000" 71 redirectPort="8443" /> 72 <!-- A "Connector" using the shared thread pool--> 73 <!-- 74 <Connector executor="tomcatThreadPool" 75 port="8080" protocol="HTTP/1.1" 76 connectionTimeout="20000" 77 redirectPort="8443" /> 78 --> 79 <!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443 80 This connector uses the NIO implementation. The default 81 SSLImplementation will depend on the presence of the APR/native 82 library and the useOpenSSL attribute of the 83 AprLifecycleListener. 84 Either JSSE or OpenSSL style configuration may be used regardless of 85 the SSLImplementation selected. JSSE style configuration is used below. 86 --> 87 <!-- 88 <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" 89 maxThreads="150" SSLEnabled="true"> 90 <SSLHostConfig> 91 <Certificate certificateKeystoreFile="conf/localhost-rsa.jks" 92 type="RSA" /> 93 </SSLHostConfig> 94 </Connector> 95 --> 96 <!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443 with HTTP/2 97 This connector uses the APR/native implementation which always uses 98 OpenSSL for TLS. 99 Either JSSE or OpenSSL style configuration may be used. OpenSSL style 100 configuration is used below. 101 --> 102 <!-- 103 <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol" 104 maxThreads="150" SSLEnabled="true" > 105 <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> 106 <SSLHostConfig> 107 <Certificate certificateKeyFile="conf/localhost-rsa-key.pem" 108 certificateFile="conf/localhost-rsa-cert.pem" 109 certificateChainFile="conf/localhost-rsa-chain.pem" 110 type="RSA" /> 111 </SSLHostConfig> 112 </Connector> 113 --> 114 115 <!-- Define an AJP 1.3 Connector on port 8009 --> 116 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 117 118 119 <!-- An Engine represents the entry point (within Catalina) that processes 120 every request. The Engine implementation for Tomcat stand alone 121 analyzes the HTTP headers included with the request, and passes them 122 on to the appropriate Host (virtual host). 123 Documentation at /docs/config/engine.html --> 124 125 <!-- You should set jvmRoute to support load-balancing via AJP ie : 126 <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> 127 --> 128 <Engine name="Catalina" defaultHost="localhost"> 129 130 <!--For clustering, please take a look at documentation at: 131 /docs/cluster-howto.html (simple how to) 132 /docs/config/cluster.html (reference documentation) --> 133 <!-- 134 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 135 --> 136 137 <!-- Use the LockOutRealm to prevent attempts to guess user passwords 138 via a brute-force attack --> 139 <Realm className="org.apache.catalina.realm.LockOutRealm"> 140 <!-- This Realm uses the UserDatabase configured in the global JNDI 141 resources under the key "UserDatabase". Any edits 142 that are performed against this UserDatabase are immediately 143 available for use by the Realm. --> 144 <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 145 resourceName="UserDatabase"/> 146 </Realm> 147 148 <Host name="localhost" appBase="webapps" 149 unpackWARs="true" autoDeploy="true"> 150 151 <!-- SingleSignOn valve, share authentication between web applications 152 Documentation at: /docs/config/valve.html --> 153 <!-- 154 <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> 155 --> 156 157 <!-- Access log processes all example. 158 Documentation at: /docs/config/valve.html 159 Note: The pattern used is equivalent to using pattern="common" --> 160 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 161 prefix="localhost_access_log" suffix=".txt" 162 pattern="%h %l %u %t "%r" %s %b" /> 163 164 </Host> 165 </Engine> 166 </Service> 167 </Server>
如其中一段:
不同的Connector有不同的作用,常用的8080是tomcat应用访问的端口
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
8009是ajp/1.3协议端口,apache转发到tomcat时用的端口,然后通过8443转发到8080端口,Connector监听到8080端口的访问后交给Service判断url地址,处理完成后再通过8443转发到8009,由apache响应给客户端请求
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:深入理解Java的接口和抽象类
下一篇:java轻松实现无锁队列
- java环境教程:Tomcat下载,安装,设置为Windows服务,启动 2020-06-09
- Spring Boot 实现配置文件加解密原理 2020-06-08
- Idea实现SpringBoot外置Tomcat的Web项目热部署(包含静态文 2020-06-04
- Spring Boot加密配置文件特殊内容 2020-05-29
- 【报错】导入项目后报错:Target runtime Apache Tomcat v7. 2020-05-25
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash