1.概述

Spring Boot Web应用程序默认包含预配置的嵌入式Web服务器。但在某些情况下,我们要修改默认配置以满足自定义要求。

在本教程中,我们将介绍通过application.properties文件配置Tomcat嵌入式服务器的一些常见用例。

2.常见的嵌入式Tomcat配置

2.1. 服务器地址和端口

我们希望更改的最常见配置是端口号

server.port = 80
复制代码

如果我们不提供server.port 参数,则默认设置为8080

在某些情况下,我们可能希望设置服务器应绑定的网络地址。换句话说,我们定义一个服务器将监听的IP地址

server.address = my_custom_ip
复制代码

默认情况下,该值设置为0.0.0.0,允许通过所有IPv4地址进行连接。设置另一个值,例如localhost - 127.0.0.1 - 将使服务器更具选择性。

2.2. 错误处理

默认情况下,Spring Boot提供标准错误网页。此页面称为Whitelabel。它默认启用,但如果我们不想显示任何错误信息,我们可以禁用它:

server.error.whitelabel.enabled = false
复制代码
  • Whitelabel的默认路径是*/error*。可以通过设置server.error.path参数来自定义它:
server.error.path = /user-error
复制代码

还可以设置属性,以确定显示有关错误的信息。例如,我们可以包含错误消息和堆栈跟踪:

server.error.include-exception= true
server.error.include-stacktrace= always
复制代码

我们的教程Exception Message Handling for REST和[Customize Whitelabel Error Page](www.baeldung.com/ spring-boot-custom-error-page) 详细解释有关Spring Boot中处理错误的更多信息。

2.3. 服务器连接

当在低资源容器上运行时,我们可能希望减少CPU和内存负载。一种方法是限制应用程序可以同时处理的请求数量。相反,我们可以增加此值以使用更多可用资源来获得更好的性能。

Spring Boot中,我们可以定义Tomcat工作线程的最大数量:

server.tomcat.max-threads= 200
复制代码

配置Web服务器时,设置服务器连接超时也可能很有用。这表示服务器在连接关闭之前等待客户端发出请求的最长时间:

server.connection-timeout= 5s
复制代码

我们还可以定义请求头的最大大小:

server.max-http-header-size= 8KB
复制代码

请求正文的最大大小:

server.tomcat.max-swallow-size= 2MB
复制代码

或者整个POST请求的最大大小:

server.tomcat.max-http-post-size= 2MB
复制代码

2.4. SSL

要在我们的Spring Boot应用程序中启用SSL支持,我们需要将server.ssl.enabled属性设置为true,并定义SSL协议:

server.ssl.enabled = true
server.ssl.protocol = TLS
复制代码

我们要配置保存证书密钥库的密码,类型和路径:

server.ssl.key-store-password=my_password
server.ssl.key-store-type=keystore_type
server.ssl.key-store=keystore-path
复制代码

我们还必须定义标识密钥库中密钥的别名:

server.ssl.key-alias=tomcat
复制代码

有关SSL配置的更多信息,请访问:HTTPS using self-signed certificate in Spring Boot。

2.5. Tomcat服务器访问日志

在尝试统计页面命中数,用户会话活动等时,Tomcat访问日志非常有用。

要启用访问日志,只需设置:

server.tomcat.accesslog.enabled = true
复制代码

我们还应该配置其他参数,例如附加到日志文件的目录名,前缀,后缀和日期格式:

server.tomcat.accesslog.directory=logs
server.tomcat.accesslog.file-date-format=yyyy-MM-dd
server.tomcat.accesslog.prefix=access_log
server.tomcat.accesslog.suffix=.log
复制代码

3. 结论

在本教程中,我们学习了一些常见的Tomcat嵌入式服务器配置。要查看更多可能的配置,请访问官方页面: Spring Boot application properties docs。

与往常一样,这些示例的源代码可以在GitHub上找到。

原文链接:www.baeldung.com/spring-boot…

作者:baeldung

译者:Leesen

如何配置Spring Boot Tomcat相关推荐

  1. Spring Boot Tomcat 配置【数安时代 GDCA】SSL证书安装

    环境:Windows Server 2012 .Spring Boot 1.5.x (Tomcat 8).Java 8 前提:域名经过备案 目录 数安时代申请免费的SSL证书 生成Keystore 配 ...

  2. Spring Boot概述与入门特点配置方式注入方式yim配置文件与多文件配置Spring Boot自动配置原理lombok应用

    1. Spring Boot概述 Spring Boot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品: 首页Spring Boot简介可以 ...

  3. idea提示未配置 Spring Boot 配置注解处理器解决方法

    未配置 Spring Boot 配置注解处理器 解决方法: 在pom.xml里添加依赖 <dependency><groupId>org.springframework.boo ...

  4. IDEA社区版怎么配置Spring boot项目?

    IDEA社区版怎么配置Spring boot项目? 由于IDEA社区版的功能很少,创建项目时我们会发现压根就没有??这个选项 接下我们对比俩者的区别: 专业版: 社区版:(这里小编已经下载过Sprin ...

  5. linux vscode配置spring boot开发环境

    vscode需要下载如下扩展: Java Extension for Pack Spring Boot Extension Pack 配置maven: {"workbench.colorTh ...

  6. Linux系统CentOS 7配置Spring Boot运行环境

    从阿里云新买的一台Linux服务器,用来部署SpringBoot应用,由于之前一直使用Debian版本,环境配置有所不同,也较为繁琐,本文主要介绍CentOS下配置SpringBoot环境的过程 新建 ...

  7. spring boot (tomcat) 指定使用ipv4 netstat -ntupl查询结果为tcp4(不是tcp6)

    问题 spring boot 打的jar包,用java命令启动.netstat -ntupl 查看端口监听,只有tcp6 没有tcp4.而阿里云通常的入栈规则是ipv4. 诱因 怀疑是此处的原因,导致 ...

  8. Spring boot Tomcat配置

    来自: https://www.cnblogs.com/a8457013/p/7687764.html 转载于:https://www.cnblogs.com/eason-d/p/7884307.ht ...

  9. 全球数据一致性,事务,微服务和Spring Boot / Tomcat / Jetty

    我们通常会构建需要一起执行以下几项操作的应用程序:调用后端(微)服务,写入数据库,发送JMS消息等.但是,如果在调用其中之一时出错,会发生什么情况?远程资源,例如,在调用Web服务后,如果数据库插入失 ...

最新文章

  1. 第九节:委托和事件(1)(委托的发展历史、插件式编程、多播委托)
  2. 使用EMR Spark Relational Cache跨集群同步数据
  3. 智领云荣登“中国大数据企业50强” | 2020大数据产业生态大会盛大召开 智领云斩获多项殊荣
  4. Centos 中如何快速定制二进制的内核 RPM 包
  5. Struts提供我们方便地将客户端上传的文件处理
  6. 在线JSON压缩工具
  7. Entity Framework 5.0系列之Code First数据库迁移
  8. Python--网络编程-----基于UDP协议的套接字不会发生粘包
  9. 联想网络同传系统用户手册(联想EDU应用用户手册)[联想硬盘保护,联想网络控制工具]
  10. Android 回声消除
  11. IDEA画Use Case(用例图)
  12. 卢卡斯(Lucas)定理
  13. (四)Ps快速选择/魔棒
  14. 2022-2028全球与中国侧装车载摄像头市场现状及未来发展趋势
  15. system call——系统调用
  16. Uedit32设置字体大小
  17. 车祸相关公开数据集(免费下载)
  18. tableau制作日历图学习
  19. 基于C语言实现图书借阅管理系统
  20. conrestoneSVN的登录,使用自行解决,嘻嘻

热门文章

  1. python升级版本命令-pythonpip命令版本过低问题版本升级问题
  2. 精通python网络爬虫-精通Python网络爬虫:核心技术、框架与项目实战 PDF
  3. python处理数据的优势-选择python进行数据分析的理由和优势
  4. 下载合适的python-python下载文件的三种方法
  5. python的用途实例-Python实例方法、类方法、静态方法的区别与作用详解
  6. python人脸识别毕业设计-用python3.6在电脑上实现用摄像头来人脸识别源程序
  7. 函数式编程语言python-用Python进行基础的函数式编程的教程
  8. python爬虫软件-一些Python爬虫工具
  9. python爬虫实例-记录一次简单的Python爬虫实例
  10. python爬虫兼职-python爬虫爬取拉勾招聘网