tomcat中 server.xml
tomcat服务器, 配置文件server.xml中的各项配置的意义
<?xml version="1.0" encoding="UTF-8"?> <!-- 整个配置文件的根元素 属性: shutdown: 表示关闭 Server 的指令 port: Server接收shutdown指令的端口号,设为-1可以禁掉该端口。 Server的主要任务: 就是提供一个接口让客户端能够访问到这个Service集合 同时维护它所包含的所有的Service的声明周期 包括如何初始化、如何结束服务、如何找到客户端要访问的Service --> <Server port="8005" shutdown="SHUTDOWN"> <!-- 代表一个 Engine 元素及一组与之相连的 Connector 元素 Service的作用: 是在 Connector 和 Engine 外面包了一层, 把它们组装在一起, 对外提供服务 一个 Service 可以包含多个 Connector , 但是只能包含一个 Engine 其中 Connector 的作用是从客户端接收请求, Engine 的作用是处理接收进来的请求 Tomcat可以提供多个Service,不同的Service监听不同的端口 --> <Service name="Catalina"> <!-- 外部客户端发送请求到特定 Service 接口 属性: port: 请求的端口 protocol: 请求的协议 redirectPort: 规定当强制要求https而请求时http时,重定向到端口号为 8443 的 Connector connectionTimeout: 连接的超时时间 Connector的主要功能: 是接收连接请求, 创建Request和Response对象用于和请求端交换数据 然后分配线程让 Engine 来处理这个请求, 并把产生的Request和Response对象传给 Engine --> <Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/> <!-- Engine 包含了 Host ,一个Engine组件可以处理Service中的所有请求 属性: name: 用于日志和错误信息(在整个 Server 中唯一) defaultHost: 指定默认 host 名称,当接受的请求的 host 名不存在时,一律使用此值处理(因此必须与 下边的一个 Host 的 name 属性值匹配) Engine的作用: Engine组件在Service组件中有且只有一个 Engine是Service组件中的请求处理组件 Engine组件从一个或多个 Connector 中接收请求并处理,并将完成的响应返回给Connector,最终传递给客户端 Engine组件中可以内嵌1个或多个Host组件,每个Host组件代表Engine中的一个虚拟主机 --> <Engine defaultHost="localhost" name="Catalina"> <!-- Host 包含了 Context ,一个Host组件可以处理发向一个特定虚拟主机的所有请求 属性: name: 制定虚拟主机的主机名 unpackWARs: 是否将代表web应用的war文件解压(true:解压后运行web应用, false:直接使用war文件运行) deployOnStartup: 在服务器启动时是否检查新的web项目 autoDeploy: 服务器在运行是是否定期检查行的web项目 Host的作用: 运行多个Web应用(一个 Context 代表一个Web应用),并负责安装、展开、启动和结束每个Web应用 Host组件代表的虚拟主机,对应了服务器中一个网络名实体(”www.test.com”,”116.25.25.25”) --> <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> <!-- 一个Context组件可以处理一个特定Web应用的所有请求 Context的作用: Context元素代表在特定虚拟主机上运行的一个Web应用 Context是Host的子容器, 每个Host中可以定义任意多的Context元素 这里并没有出现Context元素的配置, 这是因为,Tomcat开启了自动部署,Web应用没有在server.xml中配置静态部署,而是由Tomcat通过特定的规则自动部署。 --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt"/> </Host> </Engine> </Service> </Server>