tomcat

tomcat是一个开源的web应用服务器,区别于nginx,nginx主要处理静态页面,那么动态页面会由nginx交给tomcat处理

功能与优劣:

1.处理动态页面

2.处理后端请求

3.易部署,会自动识别配置文件,自动部署运行

4.轻量级服务软件,中小型架构可以满足,大型的交互需求不能满足,在容器化部署的项目架构中是不使用tomcat的,都是使用ar包直接运行

tomcat的核心组件:

1.web容器,完成web功能,处理请求也是nginx转发的http请求,处理动态页面,处理后端的请求(转发到数据库的请求)

2.servlte:catalina是整个tomcat处理的底层逻辑,处理web请求的动态页面,也处理后端请求

3.jsp:jsp会把动态翻译成serlvet代码。用编译后的规则,显示代码的静态页面

静态页面:html

动态页面:php  index.php

                 jsp  index.php ---Java格式写成的代码,靠jsp翻译,servlet执行编译后的代码然后展示结果

容器:通常指的是一种虚拟化的技术,允许在当前的操作系统当中,虚拟化的运行多个独立

的环境。独立运行的环境就是容器,彼此之间相互隔离,拥有自己的一套资源。

servlet容器:

用于开发web应用程序的关键组件。主要用于处理http请求,生成动态内容

与客户端之间的交互,生成动态内容与客户端之间的交互。用于处理http请求,生成动态页面的内容。

会话管理:

处理用户会话,跟踪用户在不同请求之间的状态,servlet可以在用户访问不同页面时,保持用户的状态信息,购物车同步,用户同步登录等等。

Jsp java server pages 动态网页的开发技术,使用jsp的标签在html的网页中插入Java代码

<%  开头      %>结尾

实现Java web 应用程序的访问界面,用户界面,或者访问数据库,生成页面内容

tomcat的核心功能:

功能部分由两个块组成:

接受和响应外部请求的连接器connector,默认端口8080

负责处理请求的 container

Engine引擎:管理多个虚拟主机,一个toncat只能有一个Engine

host:代表站点,也就是虚拟主机,一个engine可以有多个host

context:一个context指向一个web应用。

wrapper:最底层,编译代码,运行结果

JDK:java的开发工具包,包括编译器,调试器以及java的类库。开发者用来创建,编译,

运行java程序的重要组件。

JVM:java的虚拟机,辅助编译后的java字节码,变成本地的机器码。

JVM内存管理,垃圾回收机制,线程管理

wabapps:默认的应用部署目录

tomcat配置虚拟主机:

配置工作目录

在公司中会有分多个项目,一台部署tomcat太多会浪费资源,所以会在tomcat中配置多个主机

tomcat的优化:

默认配置并不适合生产环境,会频繁假死。

需要通过压测不断优化,提高稳定

1.配置文件优化

2.jvm优化

3.操作系统优化

vim server.xml

71行插入

maxThreads=”200”  可以创建的最大线程数,支持的最大并发连接数

minSpareThreads=”200”    最小空闲线程数,没人请求时,也要打开空闲的线程数

maxSpareThreads   最大备用线程数,创建的线程超过这个数,会关闭不需要的线程

connectionTimeout   网络连接超时,一般设置为20 000ms

enableLookups=”false”   是否反向解析域名,不解析,提高处理效率

disableUploadTime=”true”   上传时是否启用超时限制

connectionUpliadTimeout=   上传超时时间

acceptCount   如果所有的可以使用线程都被占用,可以传入的队列长度的最大值

compression=”on”   是否对响应的数据进行gzip压缩,压缩之后的页面大小可以减少1/3

noCompressionUserAgents=”gozilla chrom”  对指定访问的浏览器不进行压缩

jvm优化:

ajp-nio-8009

连接器当中的一种类型:ajp,协议名称就交ajp,nio:异步非阻塞通信

8009就是ajp协议的监听端口

ajp:将tomcat服务器和前端web服务器(APACHE nginx)进行连接,提供负载均衡和请求转发,可以提高并发处理能力。

http-nio-8080

用于处理http协议的网络请求

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值