Apache Tomcat学习

–>

    Tomcat是Apache下的一个开源项目,属于轻量级Web应用服务器,他的配置文件server.xml在tomcat根目录的conf文件下,本文只对Tomcat的配置文件server.xml进行整理。

    1、Server标签是server.xml的顶层标签,port属性监听端口,shutdown是表示关闭Server的指令

    2、Service标签,这个标签是Server的子标签,一个server可以有多个Service

    3、Connector标签和Engine是Service的子标签,其中Connector用于接收客服端的请求和创建Request和Response,并分配一个线程让Engine来处理这个请求。一个service下可以有多个Connector,但是只能有一个Engine

    4、Host标签是Engine容器的子容器,Engine可以内嵌多个Host组件,每个Host组件代表Engine中的一个虚拟主机,Host组件至少有一个,且其中一个的name必须和Engine的defaultHost值相匹配。

        Host组件的作用,是运行多个Web应用(一个Context代表一个Web应用),并负责安装、展开、启动和结束每个Web应用。

    5、Context标签,是Host的子容器,一个Context容器代表一个Web应用,Context中的docBase属性可以是war包,也可以是应用目录,path属性与URL的匹配,通过URL和path的匹配程度来确定访问哪个Web应用。

在Host标签下有一个Value标签,可以用于配置Tomcat的访问日志

<Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs” pattern=”%h %l %u %t &quot;%r&quot; %s %b” prefix=”localhost_access_log” suffix=”.txt”/>

className属性AccessLogValue,指定这个一个日志配置,prefix:指定了日志文件的前缀,suffix指定了日志文件的后缀名,directory指定日志文件的目录(相对目录$TOMCAT_HOME/logs下

pattern:指定记录日志的格式,具体如下:

  • %h:远程主机名或IP地址;如果有nginx等反向代理服务器进行请求分发,该主机名/IP地址代表的是nginx,否则代表的是客户端。后面远程的含义与之类似,不再解释。

  • %l:远程逻辑用户名,一律是”-”,可以忽略。

  • %u:授权的远程用户名,如果没有,则是”-”。

  • %t:访问的时间。

  • %r:请求的第一行,即请求方法(get/post等)、uri、及协议。

  • %s:响应状态,200,404等等。

  • %b:响应的数据量,不包括请求头,如果为0,则是””-。

pattern的配置中,除了上述各项,还有一个非常常用的选项是%D,含义是请求处理的时间(单位是毫秒),对于统计分析请求的处理速度帮助很大。

本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。

© 版权声明

相关文章