Tomcat的常见的组件与部署

来源:互联网 发布:淘宝首页装修教程视频 编辑:程序博客网 时间:2024/05/29 10:40

Tomcat的目录结构分析:


最重要的配置文件是server.xml

server.xml与Tomcat的架构:


Service相当于容器,Server相当于Tomcat
Tomcat对应的组件的实现:
Connector组件:
Coyote实现很多种不同的Connector组件,其中最常见的也是Tomcat,默认的connector是BIO Connector
BIO Connector:使用较传统的阻塞式IO的操作方式,对应实现方式为javaIO的实现
Container组件:
Catalina实现Container容器的组件,用户的代码最终由Catalina执行


Tomcat个组件协调工作完成用户请求处理流程:
说明:浏览器发送请求,这个请求使用Connector接收并且处理,Connector会完成Socket方面的操作Connector会从Socket中读取数据,读取到请求之后会对请求进行解析,解析完成之后会交给Container进行处理,Container会根据解析出来的内容进行响应(文本、图片等静态内容还是根据代码生成的动态内容等)最终Container生成的内容通过Connector发送到浏览器

Tomcat的常见配置项

对于最配置文件进行修改的不可逆操作时候,记得先备份在修改
Connector的配置参数
port:http监听的是80端口,而Tomcat默认监听的8080端口
address:ip地址
protocol:默认的是http1.1,在性能调优的时候可能会改用
connectionTimeout:客户端连接超时时间
acceptCount:所有的线程处理请求的时候,没有空闲线程存在,配置线程排队的长度,队列最大的是多大
如果队列超过了队列的长度,则其余的请求会被拒绝,默认为100
maxConnections:支持同时发送请求的最大连接数,默认BIO Connector与线程池相关

线程池

线程池在服务端开发必须知道的,线程的创建和销毁都比较耗时,假如来一个请求就创建一个线程,请求结束之后就把线程销毁,对系统性能来说损耗较大,实际开发中可以先创建一组线程等待客户的请求,当有请求时直接用线程池的线程,结束之后再放到池子里,这样就减少了线程的创建和销毁的过程线程池主要配置的参数:

minSpareThreads:最小空闲线程数目
maxThreads:最大线程数
当同时请求数目超过线程池的线程数目,则后面的请求只能排队等待
当所有请求结束之后,线程池子会留有minSpareThreads
tomcat就是使用这样的弹性线程池
线程池的配置:
线程池的配置项<Executor>:
minSpareThreads
maxThreads
Connector配置线程池:
指定依赖的线程池配置(优先)
直接指定线程池的配置参数

日志的配置:

日志的作用:
Tomcat的运行情况获知
调试利器:定位问题
Tomcat日志分类:
系统运行时的日志:捕获系统运行时的异常信息
访问日志:记录所有的请求访问
应用日志:应用程序打印日志
访问日志的配置文件也是server.xml
directory:访问日志的相对路径


部署web应用

手动部署

将项目直接考到tomcat目录下的webapps目录下
项目应该按照一定格式编写:
web项目格式:
   ------WEB-INF:
   静态资源可供外界访问的(html,img,avi等)
      ------classes:存放字节码文件
      ------lib:存放jar包
      web.xml:一定格式的配置文件

War包部署:

将项目打成war包,在将项目上传到到tomcat目录下的webapps目录下
打war包的格式:
cmd到你要打war包项目的路径下
输入命令:(格式为)
Jar -cvf 项目名.war .   最后的.表示当前目录下的所有文件夹以及文件
1 0
原创粉丝点击