Spring Boot Web应用程序默认包含预配置的嵌入式Web服务器。但在某些状况下,咱们要修改默认配置以知足自定义要求。html
在本教程中,咱们将介绍经过application.properties文件配置Tomcat嵌入式服务器的一些常见用例。git
2.常见的嵌入式Tomcat配置
2.1. 服务器地址和端口
咱们但愿更改的最多见配置是端口号:github
server.port = 80
若是咱们不提供server.port 参数,则默认设置为8080。web
在某些状况下,咱们可能但愿设置服务器应绑定的网络地址。换句话说,咱们定义一个服务器将监听的IP地址:spring
server.address = my_custom_ip
默认状况下,该值设置为0.0.0.0,容许经过全部IPv4地址进行链接。设置另外一个值,例如localhost -127.0.0.1 - 将使服务器更具选择性。tomcat
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中处理错误的更多信息。app
2.3. 服务器链接
当在低资源容器上运行时,咱们可能但愿减小CPU和内存负载。一种方法是限制应用程序能够同时处理的请求数量。相反,咱们能够增长此值以使用更多可用资源来得到更好的性能。spring-boot
在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上找到。
做者:baeldung
译者:Leesen
