Tomcat部署及优化
- Tomcat安装部署
- 虚拟主机配置
- Tomcat优化
Tomcat介绍
■免费的、开放源代码的Web应用服务器
■Apache软件基金会(Apache Software Foundation),Jakarta项目中的一个核心项目
■由Apache、Sun和一 些公司及个人共同开发而成
■深受Java爱好者的喜爱,并得到部分软件开发商的认可
■目前比较流行的Web应用服务器
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML (标准通用标记语言下的一个应用)页面的访问请求。实际上,Tomcat 是Apache服务器的扩展,但运行时它是独立运行的,所以当运行Tomcat 时,它实际上作为一个与Apache独立的进程单独运行的。
当配置正确时,Apache 为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat 和IIS等Web服务器一样,具有处理HTML.页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet 容器是Tomcat 的默认模式。不过,Tomcat 处理静态HTML的能力不如Apache 服务器。
Tomcat由一系列的组件构成,其中核心组件有三个:
-
Web容器:完成Web服务器的功能。
-
Servlet容器:名字为catalina,用于处理Servlet代码。
-
JSP容器 :前端页面,在html中夹杂java代码,用于将JSP 动态 页翻译成Servlet代码。
Tomcat 处理请求过程:
- 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/11. 1Connector获得。
- Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应。
- Engine获得请求localhost/yy/ index. JSP 匹配它所拥有的所有虚拟主机Host。
- Engine匹配到名为localhost的Host。即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机。
- localhost Host获得请求/yy/ index. JSP,匹配它所拥有的所有Context。
- Host匹配到路径为/yy的Context。 如果匹配不到,就把该请求交给路径名为Context去处理。
- path=” /yy ” 的Context获得请求 /index. JSP,在它的mapping table中寻找对应的Servlet。
- Context匹配到URL PATTERN 为*. JSP的Servlet, 对应于JSPServlet类。
- 构造HttpServletRequest对 象和HttpServletResponse对象,作为参数调用JSPServlet的doGet ()或doPost() 方法。
- Context把执行完 了之后的HttpServletResponse对象返回给Host。
- Host把HttpServletResponse对象返回给Engine。
- Engine把HttpServletResponse对象返回给Connector。
- Connector把HttpServletResponse对象返回给客户browser。
Tomcat部署步骤:
1.下载并安装jdk:jdk是Java语言的软件开发的工具包,是Tomcat运行的必要环境包
2.安装并启动Tomcat
3.配置虚拟主机
浏览器输入ip地址,就可看到tomcat首页。
DNS服务器配置成功:

Tomcat优化:
Tomcat的缺省配置并不适合生产环境,它会频繁出现假死现象需要重启,只有通过不断压测优化才能让它最高效率稳定的运行。优化主要有三方面,分为操作系统优化(内核参数优化),Tomcat 配置文件参数优化,Java虚拟机(JVM) 调优。其中最难理解的就是jvm调优。系统优化本章不介绍,本章将配合jmeter 压测工具进行调优前和调优后的数据进行比较。
Tomcat配置文件参数优化:
【maxThreads】Tomcat使用线程来处理接收的每个请求,这个值表示Tomcat 可创建的最大的线程数,默认值是200。
【 minSpareThreads】最小空闲线程数,Tomcat启动时的初始化的线程数,表示即使没有人使用也开这么多空线程等待,默认值是10。
【maxSpareThreads 】最大备用线程数,一旦创建的线程超过这个值Tomcat就会关闭不再需要的socket线程。默认值是-1 (无限制)。一般不需要指定。
【URIEncoding】指定Tomcat容器的URL编码格式,语言编码格式这块倒不如其它Web服务器软件配置方便,需要分别指定。
【connnectionTimeout】 络连接超时,单位:毫秒,设置为0 表示永不超时,这样设置有隐患的。通常默认20000毫秒就可以。
【enableLookups 】是否反查城名,以返回远程主机的主机名,取值为: true 或false,如果设置为false, 则直接返回IP地址,为了提高处理能力,应设置为false。
【 disableUploadTimeout】上传时是否使用超时机制。应设置为true。
【 connectionUploadTimeout】上传超时时间, 毕竟文件上传可能需要消耗更多的时间,这个根据你自己的业务需要自己调,以使Servlet有较长的时间来完成它的执行,需要与上一个参数一 起配合使用才会生效。
【acceptCount】指定当所有可以使用的处理请求的线程数都被使用时,可传入连接请求的最大队列长度,超过这个数的请求将不予处理,默认为100个。
【 compression】是否对响应的数据进行GZIP压缩,off: 表示禁止压缩; on:表示允许压缩(文本将被压缩)、force: 表示所有情况下都进行压缩,默认值为off, 压缩数据后可以有效的减少页面的大小,一般可以减小1/3左右,节省带宽。
【 compressionMinSize】表示压缩响应的最小值,只有当响应 文大小大于这个值的时候才会对 文进行压缩,如果开启了压缩功能,默认值就是2048。
【 compressableMimeType 】压缩类型,指定对哪些类型的文件进行数据压缩。
【 noCompressionUserAgents=” gozilla,traviata”】对于以下的浏览器,不启用压缩。
如果已经对代码进行了动静分离,静态页面和图片等数据就不需要Tomcat处理了,那么也就不需要在Tomcat 中配置压缩了。
因为这里只有一台Tomcat 服务器,而且压测的是Tomcat首页,会有图片和静态资源文件,所以这里启用压缩。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!