为了账号安全,请及时绑定邮箱和手机立即绑定

Tomcat服务配置与性能优化

黑洞大仙 全栈工程师
难度初级
时长 2小时23分
学习人数
综合评分9.13
26人评价 查看评价
9.0 内容实用
9.5 简洁易懂
8.9 逻辑清晰
  • tomcat配置热部署:

    热部署:就是在不重启tomcat的前提下,将自己的项目部署到tomcat中。

    热部署的三种方式:

    (1)直接把web文件(war包)放在webapps里。

    (2)在conf目录下的server.xml文件里添加context标签

    <!--此处有图片-->

    (3)在conf目录下的Catalina下的localhost目录下添加.xml文件

    <!--此处有图片-->

  • tomcat修改内存:

    (1)内存分为:堆内存、栈内存、静态内存区

          1>堆内存:主要用于存取类的实例、数组等引用数据类型(用new生成的对象)。

          2>栈内存:存取一些局部变量。比如方法参数。

          3>静态内存区:即持久区,该区内存不会被gc回收。 存取一些常量,静态变量,类的源数据;比如方法啊,属性啊。

    (2)内存溢出异常:

        1>java heap space异常:表示堆内存满了。原因:程序bug或引用的jar比较多。jvm默认的堆内存最小是物理内存的六十四分之一,最大是物理内存的四分之一。解决方法:通过调整虚拟机的初始内存和最大内存来加大内存使用限制。

        2>PermGen space:静态内存区满了,原因:加载的类太多,jdk8以下版本需要设置静态内存区最大和最小值,jdk8以后版本就不存在该异常。

       3>StackOverflowError异常:栈内存溢出,原因:死循环或无限递归导致。

    <!--此处有图片-->


  • tomcat配置:

    (1)配置端口号:

            端口范围:1~65535,一般在1024~65535之间取值。

           server.xml中的三个端口:

           1>shutdown端口:负责监听关闭tomcat的请求;


           2>http端口:负责建立http请求;默认端口为8080


          3>ajb端口:负责与其他的http服务器建立连接,把tomcat与其他的http服务器集成。

    1

  • Tomcat目录结构:

    (1)bin目录:存放tomcat运行命令;主要有.sh和.bat两类,.sh是linux命令,.bat是windows命令。

    (2)conf目录:主要存放一些配置文件。

    (3)lib目录:包含了所有tomcat启动jar包,也包含了用户存放的web程序共享的jar包。

    (4)logs目录:用来存放tomcat在运行时产生的日志信息。

    (5)temp目录:主要存放tomcat在运行过程中产生的一些临时文件,即使清空,对tomcat也没什么影响。

    (6)webapps目录:主要存放应用程序。

    webapps目录中的Root目录是Tomcat的根目录,可以直接访问。

    (7)work目录:存放tomcat运行时编译后的文件,清除work目录并重启tomcat可以达到清除缓存的作用。

  • tomcat日志输出编码设置:conf-logging.properties文件中设置。

  • server处理HTTP请求:

    <!--此处有图片-->

    02:20
    看视频
  • Connecter组件:

    (1)接收客户端连接

    (2)加工处理客户端请求

    解析过程生成request对象,组装过程生成respose对象

    Container组件:

    (1)所有的子容器的父接口

    (2)使用责任链设计模式

    (3)包含四个子容器:Engine、Host、Context、Wrapper


    责任链模式:使多个对象都有机会去处理同一个请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。

    Engine:用来管理多个站点,一个service最多只能由一个engine;

    Host:代表一个站点,也可以叫虚拟主机,通过配置Host就可以添加站点。

    Context:代表一个应用程序,相当于一个war包。

    Wrapper:一个封装了的servlet.

    02:41
    看视频
  • JVM 堆内存默认最小内存为物理内存的1/64 ,最大为物理内存的1/4.

    即如8G内存,则最小内存为 128M,最大2048M

  • bin 应用程序:.sh——linux程序

    conf 配置文件

    lib jar包

    log 日志信息

    tmp 临时文件

    webapp 外部程序

    work 编译后文件

  • Server处理http请求流程。

    02:22
    看视频
  • Connector(连接器)组件是Tomcat最核心的两个组件之一,主要的职责就是负责接收客户端连接和客户端请求的处理加工。每个Connector都将指定一个端口进行监听,分别负责对请求报文的解析和响应报文组装,解析过程生成Request对象,而组装过程涉及Response对象; 如果将Tomcat整体比作一个巨大的城堡,那么Connector组件就是城堡的城门,每个人要进入城门就必须通过城门,它为人们进出城堡提供了通道。同时,一个城堡还可能有两个或者多个城门,每个城门代表了不同的通道; HTTP Connector所支持的协议版本为HTTP/1.1和HTTP/1.0,无须显式适配HTTP的版本,Connector会自动适配版本。每个Connector实例对应一个端口,在同个service实例内可以配置若干个Connector实例; AJP Connector组件用于支持AJP协议通信,当我们想将Web应用中包含的静态内容交给Apache处理的时候,Apache与Tomcat之间的通信协议则使用AJP协议; Connector也在服务器端提供了SSL安全通道的支持,用于客户端以HTTPS方式访问,可以通过配置server.xml的<Connector>节点SSLEnabled属性开启;
  • Tomcat 的流处理的运动模式
    02:52
    看视频

举报

0/150
提交
取消
课程须知
需要具有Java Web基础,对Tomcat有初步的了解。
老师告诉你能学到什么?
1、Tomcat基础配置 2、Tomcat安全配置 3、Tomcat性能优化

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!