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

Tomcat服务配置与性能优化

黑洞大仙 全栈工程师
难度初级
时长 2小时23分
学习人数
综合评分9.20
28人评价 查看评价
9.1 内容实用
9.5 简洁易懂
9.0 逻辑清晰
  • 单点登录不会,不理解
    查看全部
    0 采集 收起 来源:单点登录2

    2021-02-19

  • 1.什么是热部署?

    就是在不重新启动Tomcat服务器的条件下,将自己的项目部署到Tomcat服务器中。

    2.如何配置热部署?---------三种方式

    1. 直接将自己的web文件放入webapps文件夹中。

    2. conf/server.xml <host>标签中添加context标签:

      <Context debug="0" docBase="D:\demo1\web" path="/demo1" reloadable="true" />

      -----debug越大,程序发生异常时,写入日志文件的详细程度越大,默认为0

      ------docBase 项目的绝对路径或者相对路径(相对webapps)

      ------path 项目的访问方式

      -------reloadable 如果为true 自动加载新增或者改变的class文件

      http://img.mukewang.com/5e6f6f5800014ace10010384.jpg

    3. 在conf/catalina下面的localhost中添加一个xml文件

      新建一个demo2.xml文件,粘贴配置信息:

      <?xml version="1.0" encoding="UTF-8"?>

      <Context debug="0" docBase="D:\demo1\web" path="/demo1" reloadable="true" />

      这时候demo2作为访问项目的名称,path不起作用。



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

    采集自:霜花似雪 2021-02-19

  • OutOfMemoryError: Java heap space: 堆内存溢出

    OutOfMemoryError: PermGen space: 静态内存溢出

    StackOverflowError: 栈内存溢出


    堆内存:new 出来的对象

    栈内存: 局部变量

    静态内存区; class

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

    2021-02-03

  • setTimeBetweenEvictionRunsMillis  空闲连接回收器线程回收期休眠时间(设置为负数则不执行,若要执行传入的值不应小于10000)

    查看全部
  • 数据库连接池则是在数据初始化时,集中创建多个数据库连接 ,并集中管理供程序使用{保证了较快的数据库的读写速度,并且更加安全

    查看全部
  • 准备一个空间 专门用来保存所有数据库连接 用户对数据库进行操作可直接从这个空间里取走连接,关闭的时候则把连接放回到空间中  ——>  这个空间就可以称之为连接池   20/6/30  /23:01

    查看全部
  • 1.什么是连接池?

    准备一个空间,专门存放数据库连接,用户使用时直接从空间中取走连接,关闭时将连接放回空间中。这个空间就被称为连接池。

    数据库连接池就是在程序初始化的时候,集中创建多个数据库连接,并且集中管理,供程序去使用。它不仅可以保证数据库的读写速度,而且更加安全可靠。

    连接池提高了性能,也提高了安全性。

    2.JDBC操作数据库

    加载驱动>创建链接>执行SQL>(关闭数据库)释放连接

    http://img4.mukewang.com/5e6f72180001e0e404930361.jpg

    3.JDBC库的数据源有两种配置方式

    异步配置连接

    独立配置连接

    4.DBCP

    饱受诟病,单线程,性能低,比较复杂


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

    2020-06-23

  • linux下的jdk和tomcat的安装与配置

    查看全部
  • Tomcat 是Apache基金会提供的一个开源的,适合于中小型应用的,轻量级的 WEB 应用服务器  1. 非多用户访问量少;  2. 同时也是开发和测试 JSP 项目的首选。

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

    采集自:霜花似雪 2020-05-07

  • 1.什么是连接池?

    准备一个空间,专门存放数据库连接,用户使用时直接从空间中取走连接,关闭时将连接放回空间中。这个空间就被称为连接池。

    数据库连接池就是在程序初始化的时候,集中创建多个数据库连接,并且集中管理,供程序去使用。它不仅可以保证数据库的读写速度,而且更加安全可靠。

    连接池提高了性能,也提高了安全性。

    2.JDBC操作数据库

    加载驱动>创建链接>执行SQL>(关闭数据库)释放连接

    http://img4.mukewang.com/5e6f72180001e0e404930361.jpg

    3.JDBC库的数据源有两种配置方式

    异步配置连接

    独立配置连接

    4.DBCP

    饱受诟病,单线程,性能低,比较复杂


    查看全部
  • 配置热部署

    什么是热部署?

    就是在不重新启动Tomcat服务器的条件下,将自己的项目部署到Tomcat服务器中。

    如何配置热部署?

    1. 直接将自己的web文件放入webapps文件夹中。

    2. conf/server.xml <host>标签中中添加context标签:

      <Context debug="0" docBase="D:\demo1\web" path="/demo1" reloadable="true" />

      -----debug越大,程序发生异常时,写入日志文件的详细程度越大,默认为0

      ------docBase 项目的绝对路径或者相对路径(相对webapps)

      ------path 项目的访问方式

      -------reloadable 如果为true 自动加载新增或者改变的class文件

    3. 在conf/catalina下面的localhost中添加一个xml文件

      新建一个demo2.xml文件,粘贴配置信息:

      <?xml version="1.0" encoding="UTF-8"?>

      <Context debug="0" docBase="D:\demo1\web" path="/demo1" reloadable="true" />

      这时候demo2作为访问项目的名称,path不起作用。

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

    采集自:YXZY 2020-04-05

  • 修改内存

    为什么要修改Tomcat内存?

    日常开发中,开发项目比较大的时候依赖的jar包比较多,并且在应用服务器启动的时候,会将项目引用的所有的类依次全部加载到内存当中,java的逻辑内存模式分为堆内存(存储类的实例,数组、引用类型也就是用new生成的对象)、栈内存(存储局部变量比如方法参数)、静态内存区(持久区,该区内存不会被gc回收,存常量、静态变量、类的源数据:方法属性什么的)

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

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

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

    • OutOfMemoryError:PermGen space异常

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

    • StackOverflowError异常

      栈内存溢出:通常是由于死循环或无线递归导致的

    配置内存参数

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

    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 采集 收起 来源:修改内存

    采集自:YXZY 2020-04-05

  • 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服务器集成。


    查看全部
    0 采集 收起 来源:修改tomcat端口号

    采集自:霜花似雪 2020-04-05

  • 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

    采集自:_朝歌_ 2020-04-05

  • 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.

    http://img1.mukewang.com/5de2222a000104ff06070507.jpg

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

    采集自:东风风神 2020-04-05

  • http://img2.mukewang.com/5de21fb900018f1c06250483.jpg

    http://img1.mukewang.com/5de21fb90001fe1906260519.jpg

    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的运行状况。


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

    采集自:东风风神 2020-04-05

  • 单点登录cas认证,多域名访问:ip或端口号
    查看全部
    0 采集 收起 来源:Tomcat总结

    2020-04-05

  • 优化配置

    缓存优化(nginx、gzip)

    运动模式

    BIO:效率低下,一个线程只能处理一个请求,请求过多的时候,线程会相应的增加,很浪费资源,tomcat7以下版本是BIO

    NIO:基于缓存区、非阻塞的I/O。相对于BIO效率更高(利用java异步I/O,少量线程处理大量请求)

    APR:tomcat7及以上默认模式。需要操作系统的支持(tomcat7以及以上版本在操作系统安装了APR时候,tomcat默认是APR模式)


    查看全部
    1 采集 收起 来源:Tomcat性能优化

    2020-04-01

  • 安全规范

    1、账号管理、认证授权

    (1)共享,无关账号

    在conf/tomcat-uesrs.xml中配置账号密码以及权限

    <role rolename="admin-gui"/>

    <role rolename="manager-gui"/>

    <user username="tomcat" password="admin123456" roles="admin-gui, manager-gui"/>

    (2)口令密码:定期修改

    (3)用户权限

    2、日志配置操作

    conf/server.xml文件中打开注释即可

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

                   prefix="localhost_access_log" suffix=".txt"

                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />

    含义解释:

    className:log日志包

    directory:日志文件存放的目录

    prefix:日志文件名称前缀

    suffix:日志文件后缀名

    pattern:日志格式

    3、设备其他配置操作

    <Connector port="8080" protocol="HTTP/1.1"

                   connectionTimeout="20000"

                   redirectPort="8443" />


    查看全部
    0 采集 收起 来源:tomcat安全规范

    2020-04-01

首页上一页1234567下一页尾页

举报

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

微信扫码,参与3人拼团

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

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