上一篇 <<<SpringBoot常见面试问题
下一篇 >>>Tomcat启动流程说明
执行流程
核心配置
<!--整个tomcat服务器,一个tomcat服务器只有一个server,管理tomcat所有组件-->
<Server port="8105" shutdown="SHUTDOWN">
<!--Server服务处理的一个业务逻辑,一个Server可以存在多个Service业务逻辑-->
<Service name="Catalina">
<!--线程池定义-->
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/>
<!--核心组件:Connector连接器,主要作用监听请求与封装请求和响应,一个Service可以有多个Connector-->
<!--Http协议的监听器-->
<Connector executor="tomcatThreadPool" port="8180" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
<!--AJP协议的监听器,以前可以做内部通讯和负载均衡,由于nginx的发展,现在基本上不用了-->
<Connector port="8109" protocol="AJP/1.3" redirectPort="8443"/>
<!--核心组件:Engine容器,作用是执行业务逻辑,一个Service只有一个Engine-->
<Engine name="Catalina" defaultHost="localhost">
<!--Host虚拟主机站点,Engine可以有多个Host-->
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<!--每个host可以存在多个Context上下文路径访问-->
<Context docBase="/Users/jiangjinrong/Downloads/aaa" reloadable="true"/>
<!--还可以定义Wrapper,相当于servlet类-->
</Host>
</Engine>
</Service>
</Server>
AJP协议与Http协议区别:
推荐阅读:
<<<Tomcat启动流程说明
<<<Tomcat8的四种部署方式
<<<站在微服务架构对Tomcat进行性能调优
<<<Tomcat的AJP连接器漏洞