Tomcat 部署及优化

Tomcat概述

自2017年11月编程语言排行榜Java 占比13%,高居榜首,Tomcat 也一度成为Java 开发人员的首选。其开源、占用系统资源少、跨平台等特性深受广大程序员喜爱。

Tomcat核心组件

Tomcat由一系列的组件构成,其中核心的组件有三个。

Web  容器:完成Web 服务器的功能。

Servlet容器:名字为catalina,用于处理Servlet 代码。

JSP 容器:用于将JSP 动态网页翻译成Servlet代码。

Tomcat请求处理

用户在浏览器中输入网址localhost:8080/test/index  jsp,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得;Connector 把该请求交给它所在的Service 的Engine  (Container)  来处理,并等待Engine 的回应:Engine获得请求localhost/test/indexjsp, 匹配所有的虚拟主机Host;Engine匹配到名为localhost的Host (即使匹配不到也把请求交给该Host 处理,因为该Host被定义为该Engine的默认主机),名为localhost的 Host 获得请求 /testindexjsp,匹配它所拥有的所有Context。Host匹配到路径为/test的 Context (如果匹配不到就把该请求交给路径名为“”的Context去处理);path="/test"的Context 获得请求/indexjsp, 在它的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。

下载并安装JDK

下载完安装包后,将其上传到服务器/root目录下,执行安装命令。

[root@localhost ~]#rpm -ivhjdk-8u171-linux-X64.rpm

查看版本号

安装启动Tomcat

1.安装Tomcat服务

2. 优 化Tomcat 服务启动时间

3.Tomcat目录结构

conf目录:用于存放Tomcat服务器的各种配置文件,比较常用的是server.xml、context.xml 、tomcat-users.xml 、web.xml四个文件。

bin 目录:用于存放启动和关闭Tomcat的脚本文件,比较常用的是catalina.sh、startup.sh、shutdown.sh三个文件。

lib 目录:用于存放Tomcat服务器的jar包,一般不作任何改动,除非连接第三方服务,比如redis ,那就需要添加相对应的jar 包。logs 目录:用于存放Tomcat日志。

temp 目 录:用于存放Tomcat 运行时产生的文件。

webapps  目录:用于存放项目资源的目录。

work目录:是Tomcat工作目录,一般清除Tomcat 缓存的时候会使用到。

Tomcat配置与优化

虚拟主机配置

1.创建www和 bbs项目目录和文件

2. 修改Tomcat 主配置文件

3.虚拟主机访问测试

客户端绑定两个域名需要写入本机 hosts,Tomcat 默认端口是8080。

Tomcat优化

1.Tomcat 配置文件参数优化

maxThreads:Tomcat    使用线程来处理接收的每个请求,这个值表示Tomcat 可创建的 最大的线程数,默认值是200。

minSpareThreads:   最小空闲线程数,Tomcat  启动时的初始化线程数,表示即使没有人使用也开这么多空线程等待,默认值是 10。maxSpareThreads:   最大备用线程数,一旦创建的线程超过这个值,Tomcat  就会关闭不再需要的socket线程。默认值是-1(无限制),一般不需要指定。

URIEncoding: 指定 Tomcat 容器的 URL 编码格式,Tomcat语言编码格式这块不如其它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:  压缩类型,指定对哪些类型的文件进行数据压缩。

2.jmeter压测工具

(1)客户端安装JDK

从 Oracle 官方下载JDK 软件,JDK 安装过程直接下一步即可。因为本章中所使用的客户端是Windows  10,所 以JDK 使用jdk-8u102-windows-x64版本。

(2)运行 jmeter软件

(3) 打开压测脚本进行压测

(4)修改Tomcat配置

(5)修改配置参数后压测

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值