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

Tomcat服务配置与性能优化

黑洞大仙 全栈工程师
难度初级
时长 2小时23分
学习人数
综合评分9.17
30人评价 查看评价
9.1 内容实用
9.5 简洁易懂
8.9 逻辑清晰
  • 1.单点登录的概念

      单点登录(Single Sign On),简称为SSO,是目前比较流行的企业服务整合的解决方案之一

      SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统

    http://img1.sycdn.imooc.com//5de377cf0001cea906240481.jpg

    2.CAS

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

      从结构上:CAS Server和CAS Client

      CAS Server:需要独立部署,负责对用户的认证工作。

      CAS Client:负责对客户端的受保护的资源的访问请求

    http://img1.sycdn.imooc.com//5de377da0001ac8806860483.jpg


    查看全部
    0 采集 收起 来源:单点登录1

    2019-12-01

  • 1.修改内存的目的

    日常开发中,开发项目比较大的时候依赖的jar包比较多,并且在应用服务器启动的时候,会将项目引用的所有的类依次全部加载到内存当中,java的逻辑内存模式分为

    堆内存(存储类的实例,数组、引用数据类型也就是用new生成的对象)、

    栈内存(存储局部变量比如方法参数)、

    静态内存区(持久区,该区内存不会被gc回收,存常量、静态变量、类的源数据:方法、属性什么的)

    2.在开发当中经常遇到的内存溢出的异常

    • OutOfMemoryErroe:Java heap space异常------>堆内存满了

      JVM中堆内存的大小默认使用的最小内存是我们物理内存的1/64,最大的使用我们物理内存的1/4,我们通过调整JVM中的初始内存和最大内存来改变我们使用内存的限制

    • OutOfMemoryError:PermGen space异常-------->静态内存区满了

      通常是因为加载的类太多导致的,jdk8以下的需要修改两个参数限制静态区最小和最大内存范围,,jdk8改变了内存模型,将类定义存放到了源数据空间,而源数据空间与堆内存共享的是同一块内存区域,所以在jdk8版本以后就不会再出现PermGen space异常了。

    • StackOverflowError异常---------->栈内存溢出

      通常是由于死循环或无线递归导致的

    3.配置内存参数

    网上有两种方式,一种是在start.bat,一种是在catalina.bat中

    bin/catalina编辑:配到第2行/192行都行

     JAVA_OPTS=“-server -Xms512m -Xmx1024m

     -XX:MetaspaceSize=128m  -XX:MaxMetaspaceSize=256m ”

    -Xms:java heap初始大小 ,默认为物理内存的1/64,最大不要超过物理内存的80%

    -Xmx:java heap的最大值,建议设置为物理内存的一半,不要超过实际的物理内存

    MetaspaceSize:初始源空间的值,默认21m,

    MetaspaceSize:最大源空间的值,默认无上限

    虚拟机的堆大小决定了虚拟机花费在数据垃圾上的时间和频率,调整虚拟机的堆大小目的是最小化垃圾回收的时间,一般用物理内存的80%作为堆内存的大小


    查看全部
    0 采集 收起 来源:修改内存

    2019-11-30

  • 1.修改Tomcat端口号

    在server.xml文件里面修改

    2.配置端口号:

            端口范围:1~65535,一般在1024~65535之间取值。因为前1~1024大部分都被固定分配了。

    3.server.xml中的三个端口:

          (1)shutdown端口:端口为8005,负责监听关闭tomcat的请求;

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

          (3)AJP协议端口:端口为8009,负责与其他的http服务器建立连接,把tomcat与其他的http服务器集成。


    查看全部
  • 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可以达到清除缓存的作用。


    查看全部
  • 1.用户点击网页的内容,请求被发送到主机的8080端口,会在那里监听8080端口的connector获得。

    2.接下来connector会请求它所在的server的Engine来处理,并且等待Engine的回应。

    3.Engine获得的请求是localhost-teckst-index.jsp,它就去匹配所有的虚拟主机,也就是Host。Engine去匹配名称为localhost的host,也就是站点,名称为localhost的站点获得请求teckst-index.jsp。

    4.然后再去匹配所有的context,而host匹配的路径为teckst-Context,也就是项目。

    5.然后第五步,匹配到-Context的context,它去获得的请求是Index.jsp,它就会在它的Mackie table里面去寻找对应的servlet。

    6.对应的servlet就会构建两个对象,一个是appservletrequest和reponse两个对象,并且作为参数去调用jspservlet的doget或者dopost方法, 然后去执行业务逻辑,比如说数据存储。

    7.然后context就会把执行完的httpservletresponse对象返回给Host。

    8.Host把response对象返回给Engine。

    9.Engine再返回给Connector。

    10.Connector再返回给客户端。


    查看全部
    0 采集 收起 来源:概念和原理3

    2019-11-30

  • Tomcat server 处理HTTP请求。

    查看全部
    0 采集 收起 来源:概念和原理3

    2019-11-14

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

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

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

    查看全部
    0 采集 收起 来源:多域名访问

    2019-11-01

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

    2、配置server.xml中的HOST

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

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

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

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


    查看全部
    0 采集 收起 来源:热部署

    2019-11-01

  • 分配JVM内存

    查看全部
    0 采集 收起 来源:修改内存

    2019-11-01

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

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

    查看全部
    0 采集 收起 来源:禁用管理界面

    2019-10-30

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

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

    查看全部
    0 采集 收起 来源:修改版本号

    2019-10-30

  • tomcat安全配置:

    1、初始化配置:

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

    (2)隐藏版本信息;

    (3)禁用Tomcat管理页面;

    (4)自定义错误页面;

    (5)AJP端口管理;

    (6)启用cookie的HttpOnly;

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

    查看全部
    0 采集 收起 来源:多域名访问

    2019-10-30

  • 图片画错了吧?

    这里写图片描述

    查看全部
    0 采集 收起 来源:单点登录1

    2019-10-28

  • 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


    查看全部
    0 采集 收起 来源:热部署

    2019-10-13

举报

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

微信扫码,参与3人拼团

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

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