Tomcat配置文件之“server.xml”解析
<?xml version="1.0" encoding="UTF-8"?> <!--代表整个Servlet容器组件,是最顶层元素。它里面可以有多个Service标签--> <Server port="8005" shutdown="SHUTDOWN"> <!--Tomcat运行所需的监听器--> <!--默认的生命周期监听器:在server初始化之前打印操作系统、JVM及服务器的版本信息--> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <!-- 默认的生命周期监听器:在server初始化之前加载APR库,并在server停止后销毁 --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <!-- 默认的生命周期监听器:server初始化之前调用,解决单例对象创建导致的jVM内存泄露问题以及锁文件问题 --> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <!-- 默认的生命周期监听器:Server启动时将JNDI资源注册为MBean进行管理 --> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <!-- 默认的生命周期监听器:在context停止时重建Executor池中的线程,避免内存泄露 --> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <!--全局资源配置, 解析到此节点时开始创建JNDI上下文 --> <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的服务包含<Engine>元素和<Connector>元素。其中<Connector>可以是一个,也可以是多个,且他们共享引擎<Engine>的配置--> <Service name="Catalina"> <!-- 配置共享线程池:默认的线程池实现为StandardThreadExecutor,可以通过标签的className属性指定Catalina共享线程池的级别为Service,默认情况下不配置共享线程池--> <!-- <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/>--> <!--配置的是连接器,其中包括连接的端口和使用协议 port:指定端口号 protocol:指定协议名称 connectionTimeout:连接超时时间 redirectPort:当资源必须以https协议访问时,tomcat会重定向此端口访问。 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <!--配置引擎 name:引擎名称 defaultHost:虚拟主机的引用--> <Engine name="Catalina" defaultHost="localhost"> <!--配置Tomcat的Realm域,安全空间--> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <!--配置虚拟主机。 name:主机名称 appBase:应用默认发布目录 unpackWARs:是否自动解压war包 autoDeploy:是否自动发布--> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- 日志的valve拦截 --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <!--配置具体应用项目。 docBase是项目的位置,可以是绝对路径,也可以是相对路径。如果是相对路径,则必须发布在虚拟主机的应用默认发布目录下。 path是指定访问该Web应用的URI reloadable是指定是否重新加载/WEB-INF/classes和/WEB-INF/lib目录下改动后的内容--> <!--<Context docBase="tomcat" path="/tomcat" reloadable="true"/>--> </Host> </Engine> </Service> </Server>
* 博客文章部分截图及内容来自于学习的书本及相应培训课程,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。
* 备注:王子威
* 我的网易邮箱:wzw_1314_520@163.com