如何配置Spring Boot Tomcat

1.概述

Spring Boot Web應用程序默認包含預配置的嵌入式Web服務器。但在某些狀況下,咱們要修改默認配置以知足自定義要求。html

在本教程中,咱們將介紹經過application.properties文件配置Tomcat嵌入式服務器的一些常見用例。git

2.常見的嵌入式Tomcat配置

2.1. 服務器地址和端口

咱們但願更改的最多見配置是端口號:github

server.port = 80

若是咱們不提供server.port 參數,則默認設置爲8080web

在某些狀況下,咱們可能但願設置服務器應綁定的網絡地址。換句話說,咱們定義一個服務器將監聽的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上找到。

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

做者:baeldung

譯者:Leesen

 

相關文章
相關標籤/搜索