SpringBoot 内置 Tomcat 参数配置

转载自:https://qinghuazangshui.com/2018/12/21/SpringBoot%E5%86%85%E7%BD%AETomcat%E5%8F%82%E6%95%B0%E9%85%8D%E7%BD%AE/

叙述

SpringBoot的项目在使用内置的Tomcat部署时,需要定义相关的Tomcat参数,本文主要讲述需要配置哪些参数。

代码

server:
  tomcat:
    accesslog:
      enabled: false #打开tomcat访问日志
      directory: logs # 访问日志所在的目录
    accept-count: #允许HTTP请求缓存到请求队列的最大个数,默认不限制
    max-connections: #最大连接数,默认不设置
    max-http-post-size: #HTTP POST内容最大长度,默认不限制
    max-threads: #最大工作线程数

这些参数最终在ServerProperties.Tomcat类中体现

Tomcat是一个静态内部类,其中包含了一下属性

  • maxThreads 最大工作线程数
  • minSpareThreads 最小工作线程数
  • maxHttpPostSize HTTP POST内容最大长度
  • internalProxies 受信任IP校验正则表达式
  • protocolHeader 协议头,通常设置为X-Forwarded-Proto
  • protocolHeaderHttpsValue 协议头的内容,判断是否使用了SSL,默认值是https
  • portHeader 用于覆盖原始端口值的HTTP头的名称,默认为X-Forwarded-Port
  • redirectContextRoot 对上下文根的请求是否应该通过附加/到路径来重定向
  • useRelativeRedirects 设置通过调用sendRedirect生成的HTTP 1.1和后面的位置头是使用相对重定向还是使用绝对重定向
  • remoteIpHeader 提取远程IP的HTTP头的名称。例如X-FORWARDED-FOR
  • maxConnections 最大连接数,如果一旦连接数到达,剩下的连接将会保存到请求缓存队列里,也就是accept-count指定队列
  • maxHttpHeaderSize HTTP消息头的最大值(以字节为单位)
  • acceptCount 当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度

Tomcat拥有一个静态内部类Accesslog,主要用于配置Tomcat访问日志的参数信息

  • enabled 是否启用访问日志
  • pattern 访问日志的格式化模式,默认为common
  • directory 创建日志文件的目录。可以是绝对的或相对于Tomcat的基目录,默认是logs
  • prefix 日志文件名称前缀,默认为access_log
  • suffix 日志文件名称后缀,默认为.log
  • rotate 是否启用访问日志旋转,默认为true
  • renameOnRotate 是否推迟将日期戳包含在文件名中直到旋转时间。
  • fileDateFormat 日志文件名称中的日期格式,默认为.yyyy-MM-dd。
  • requestAttributesEnabled 为请求使用的IP地址、主机名、协议和端口设置请求属性。
  • buffered 是否缓冲输出,使其只定期刷新,默认为true

Tomcat还有名为Resource的静态内部类,主要用于配置静态资源缓存的生存周期

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值