Linux下Tomcat 安装配置详解(2)

前面讲到connecotr负责接收用户请求,而engine负责接处理用户请求。但是connecotr并不能与engine直接通信。所以service就是负责将connector与engine连接起来的组件

<Service name="Catalina"> 2.connector组件

connector负责接收客户端发来的请求,常见的连接有三种:http、https、ajp
进入tomcat的请求可分为两类:

(1) standalone : 请求来自于客户端浏览器;

(2) 由其它的web server反代:来自前端的反代服务器,通过反带服务器发来的又有以下几种;

nginx --> http connector --> tomcat

httpd(proxy_http_module) --> http connector --> tomcat

httpd(proxy_ajp_module) --> ajp connector --> tomcat

httpd(mod_jk) --> ajp connector --> tomcat
示例

<Connector port="8080" # 默认有两个connector一个监听http一个监听ajp protocol="HTTP/1.1" # 如果是http可以无需指明协议。AJP的话Protocol="AJP/1.3" connectionTimeout="20000" # 超时时长,毫秒即20s redirectPort="8443" # 如果请求的为SSL请求就将请求转发至8443端口 address: # 监听的IP地址;默认为本机所有可用地址;不写就监听本地所有IP maxThreads: # 最大并发连接数,默认为200; enableLookups: # 是否启用DNS查询功能;将IP地址解析为域名。关闭提升性能 acceptCount: # 等待队列的最大长度; secure: # =true的表示使用SSL通信 sslProtocol: # 设定使用哪个SSL协议,通常在tomcat上不建议使用SSL,速度太慢 />

3.Engine组件

Engine组件负责处理发来的请求。
Engine是Servlet实例,即servlet引擎,其内部可以一个或多个host组件来定义站点; 通常需要通过defaultHost来定义默认的虚拟主机。
示例

<Engine name="Catalina" defaultHost="localhost"> name=Catalina # 引擎的名称 defaultHost="localhost" # 默认的响应主机站点。如果找不到合适,或者域名不匹配选择默认host jvmRoute= # Tomcat做集群时的调度标志,类似于HAproxy的会话标识。 # 在基于cookie绑定时会用到 ... <Engine> 4.Host组件

Host组件位于engine内部用于接收请求并进行相应处理的主机或虚拟主机

<Host name="localhost" # 设定为主机名即可 appBase="webapps" # webapps的默认存放路径(相对路径,可以用绝对路径)。相当站点根 unpackWARs="true" # true为自动展开WAR文件 autoDeploy="true"> # 是否开启自动部署功能。 #unpackWARS、autoDeploy定义了WebAPP为WAR格式且在根下时自动部署 </Host> 5.Context组件

包含在Host标签里。
如果在一个主机上部署多个app的话,Context就可以用来定义不同app对应的路径。

<Context path="/PATH" # 网页的RUL docBase="/PATH/TO/SOMEDIR" # 真实路径。 reloadable=""/> # 如果为true说明可以重新装载 6.valve组件

Valve存在多种类型:
定义访问日志:org.apache.catalina.valves.AccessLogValve
定义访问控制:org.apache.catalina.valves.RemoteAddrValve

<Valve className="org.apache.catalina.valves.AccessLogValve" # 定义记录日志要访问的类 directory="logs" # 日志文件的目录路径,默认在/var/log/tomcat下 prefix="node1_test_access_" # 日志文件的前缀 suffix=".log" # 日志文件的后缀 pattern="%h %l %u %t &quot;%r&quot; %s %b" /> # 记录日志的格式 pattern="%h %l %u %t &quot;%r&quot; %s %b" />

更多Tomcat相关教程见以下内容

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0b3d99d6c883c4c1466780648fd3bfe7.html