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

Tomcat服务配置与性能优化

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

    1.接收客户端连接   


    2.加工处理客户端请求

    每个Connector都将指定一个端口进行监听,分别负责对请求报文的解析和响应报文组装,解析过程生成Request对象,而组装过程涉及Response对象。

    如果将Tomcat整体比作一个巨大的城堡,那么Connector组件就是城堡的城门,每个人要进入城门就必须通过城门,它为人们进出城堡提供了通道。同时,一个城堡还可能有两个或者多个城门,每个城门代表了不同的通道。

    container

    1.所有的子容器的父接口   

    2.使用责任链设计模式 

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

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

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

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

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

    Wrapper:一个封装了的servlet.

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

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

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

    1.Server 指整个Tomcat服务器,其中包含多个组件,主要负责管理和启动各个service,同时监听8005端口发过来的shut down命令,用于关闭整个服务器。

     2.Service 是Tomcat封装的用于对外提供完整的基于组件的web服务,主要包括connector和container两个核心组件和多个功能组件。各个service之间的独立的,但是他们会共享同一个虚拟机资源。

     3.Connector 是Tomcat与外部世界的一个连接器,监听固定的端口,接收外部请求,然后将请求传递给container,并且将container的处理结果再返回给外部。 

    4.Container 是一个servlet容器,内部由多层容器组成,主要用于管理servlet 的生命周期,然后调用servlet 的相关方法去处理业务逻辑。

    5.Jasper 是Tomcat的JSP的解析引擎,用于将JSP文件转化成Java文件,并且编译成.class文件。

    6.Naming 其实是一个命名服务,将名称和对象联系起来,使得可以用名称去访问对象。

    7.Session 负责管理和创建session,session的持久化。可以自定义,并且支持session的集群。对于Tomcat而言,session是在服务器开辟的内存空间。在开发中,经常用session来存储一些临时的信息。

    8.Loging 负责记录相关的日志,包含访问错误信息和一下运行信息。

    9.JMX  javase中的定义的一个技术规范,主要是为应用程序,设备,系统等植入管理功能的框架。通过jmx可以远程监控Tomcat的运行状况。


  • tomcat的server.xml文件也可以配置多个虚拟主机,

    相同域名不同端口可以通过增加service节点实现,

    不同的域名则可以同过增加host节点实现

    06:12
    看视频
  • 1、直接将新项目放进已经启动的tomcat中。tomcat会解压并加载新项目。

    2、配置server.xml中的HOST

    <context debug="0" docBase="D:web\" path="demo01" reloadble="true"/>

    debug:程序发生异常时,写入日志文件中的详细程度,数据越大,越详细。

    docBase:项目的绝对路径或者相对路径,如果时相对路径。相对于webapps

    path: 项目访问的路径,如例子表示:localhost:8080/demo01


    04:49
    看视频
  • catalina中设置(E:\tomcats\tomcat-8\bin\catalina.bat第二行加入以下代码)

    JAVA_OPTS="-server -Xms=256m -Xmx512m -XX:metaspace=128m -XX:MaxMetaspaceSize=256m"

    07:13
    看视频
  • 禁用tomcat管理界面:防止黑客通过tomcat管理界面对tomcat进行攻击。

    方法:将Root文件重命名,重新建一个空的Root文件。

  • 隐藏版本信息:防止黑客针对某一版本进行攻击,需要将版本信息隐藏起来。

    版本信息在tocat的lib目录下的catalina.jar里的org.apache.catalina.util里的ServerInfo.properties文件里。

  • tomcat安全配置:

    1、初始化配置:

    (1)关闭服务器端口;如果不改关闭端口或关闭命令,别人会通过端口号和命令关闭服务,出于安全考虑,需要改变端口号或关闭命令。

    (2)隐藏版本信息;

    (3)禁用Tomcat管理页面;

    (4)自定义错误页面;

    (5)AJP端口管理;

    (6)启用cookie的HttpOnly;

  • 多域名访问是为了提高资源利用率。

  • 单点登录(Single Sign On),简称SSO,是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    单点登录方式:

    (1)以Cookie作为凭证媒介;

    (2)通过jsop实现;

    (3)通过页面重定向的方式实现;

    (4)使用第三方插件实现,如CAS

    CAS:开源的企业级单点登录解决方案。


  • 图片画错了吧?

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

  • 1、直接将新项目放进已经启动的tomcat中。tomcat会解压并加载新项目。

    2、配置server.xml中的HOST

    <context debug="0" docBase="D:web\" path="demo01" reloadble="true"/>

    debug:程序发生异常时,写入日志文件中的详细程度,数据越大,越详细。

    docBase:项目的绝对路径或者相对路径,如果时相对路径。相对于webapps

    path: 项目访问的路径,如例子表示:localhost:8080/demo01

    reloadble:当有文件变化时是否自动加载。true表示是。

    3、在catalina中的localhost中穿件配置文件。

    如创建文件demo2.xml。并在文件中输入

    <?xml version="1.0" encoding="UTF-8"?>
    <context debug="0" docBase="D:web\" path="demo01" reloadble="true"/>

    启动项目,访问时localhost:8080/demo2


  • catalina中设置,或在startup中配置

    JAVA_OPTS="-server -Xms=256 -Xmx512m -XX:metaspace=128m -XX:MaxMetaspaceSize=256m"


举报

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

微信扫码,参与3人拼团

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

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