Tomcat 的 Server 文件设置详解!
xmlBase属性指定Web应用的XML设置文件地址的目次,默认值为conf/ 搜查Web应用更新 一个Web应用也许包罗以下文件:XML设置文件,WAR包,以及一个应用目次(该目次包括Web应用的文件布局);个中XML设置文件位于xmlBase指定的目次,WAR包和应用目次位于appBase指定的目次。 Tomcat凭证如下的次序举办扫描,来搜查应用更新: A、扫描假造主机指定的xmlBase下的XML设置文件 B、扫描假造主机指定的appBase下的WAR文件 C、扫描假造主机指定的appBase下的应用目次 Context元素最重要的属性是docBase和path,另外reloadable属性也较量常用。 docBase指定了该Web应用行使的WAR包路径,或应用目次。必要留意的是,在自动陈设场景下(设置文件位于xmlBase中),docBase不在appBase目次中,才必要指定;假如docBase指定的WAR包或应用目次就在docBase中,则不必要指定,由于Tomcat会自动扫描appBase中的WAR包和应用目次,指定了反而会造成题目。 path指定了会见该Web应用的上下文路径,当哀求到来时,Tomcat按照Web应用的 path属性与URI的匹配水平来选择Web应用处理赏罚响应哀求。譬喻,Web应用app1的path属性是”/app1”,Web应用app2的path属性是”/app2”,那么哀求/app1/index.html会交由app1来处理赏罚;而哀求/app2/index.html会交由app2来处理赏罚。假如一个Context元素的path属性为””,那么这个Context是假造主机的默认Web应用;当哀求的uri与全部的path都不匹配时,行使该默认Web应用来处理赏罚。 可是,必要留意的是,在自动陈设场景下(设置文件位于xmlBase中),不能指定path属性,path属性由设置文件的文件名、WAR文件的文件名或应用目次的名称自动推导出来。如扫描Web应用时,发明白xmlBase目次下的app1.xml,或appBase目次下的app1.WAR或app1应用目次,则该Web应用的path属性是”app1”。假如名称不是app1而是ROOT,则该Web应用是假造主机默认的Web应用,此时path属性推导为””。 reloadable属性指示tomcat是否在运行时监控在WEB-INF/classes和WEB-INF/lib目次下class文件的窜改。假如值为true,那么当class文件窜改时,会触发Web应用的从头加载。在开拓情形下,reloadable配置为true便于调试;可是在出产情形中配置为true会给处事器带来机能压力,因此reloadable参数的默认值为false。 下面来看自动陈设时,xmlBase下的XML设置文件app1.xml的例子: 在该例子中,docBase位于Host的appBase目次之外;path属性没有指定,而是按照app1.xml自动推导为”app1”;因为是在开拓情形下,因此reloadable配置为true,便于开拓调试。 自动陈设举例 最典范的自动陈设,就是当我们安装完Tomcat后,$TOMCAT_HOME/webapps目次下有如下文件夹: 当我们启动Tomcat后,可以行使http://localhost:8080/来会见Tomcat,着实会见的就是ROOT对应的Web应用;我们也可以通过http://localhost:8080/docs来会见docs应用,同理我们可以会见examples/host-manager/manager这几个Web应用。 (3)server.xml中静态陈设Web应用 除了自动陈设,我们也可以在server.xml中通过 server.xml中行使Context元素设置Web应用,Context元素应该位于Host元素中。举譬喻下: docBase:静态陈设时,docBase可以在appBase目次下,也可以不在;本例中,docBase不在appBase目次下。 path:静态陈设时,可以显式指定path属性,可是如故受到了严酷的限定:只有当自动陈设完全封锁(deployOnStartup和autoDeploy都为false)或docBase不在appBase中时,才可以配置path属性。在本例中,docBase不在appBase中,因此path属性可以配置。 reloadable属性的用法与自动陈设时沟通。 四、焦点组件的关联 1、整体相关 焦点组件之间的整体相关,在上一部门有所先容,这里总结一下: Server元素在最顶层,代表整个Tomcat容器;一个Server元素中可以有一个或多个Service元素。 Service在Connector和Engine表面包了一层,把它们组装在一路,对外提供处事。一个Service可以包括多个Connector,可是只能包括一个Engine;Connector吸取哀求,Engine处理赏罚哀求。 Engine、Host和Context都是容器,且 Engine包括Host,Host包括Context。每个Host组件代表Engine中的一个假造主机;每个Context组件代表在特定Host上运行的一个Web应用。 2、怎样确定哀求由谁处理赏罚? 当哀求被发送到Tomcat地址的主机时,怎样确定最终哪个Web应用来处理赏罚该哀求呢? (1)按照协媾和端标语选定Service和Engine (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |