java架構之路-(七)簡單聊聊tomcat(一)

  • 2019 年 10 月 5 日
  • 筆記

  tomcat使我們熟知的也是我們使用最多的web伺服器了,至少我是使用最多的。常見的web伺服器還有Apache,web logic,JBOSS等,對於tomcat的安裝我就不再贅述了,簡單的不能再簡單了,不會安裝的,建議你學學基礎。

官方地址:http://tomcat.apache.org/ 現在已經發布了tomcat9版本。我們下面說的都是以tomcat8.5為例來說的。

我們先來看個圖

我們可以看到一個tomcat服務一個可以有一個Server,一個Server可以包含多個Service,一個Service可以包含多個Connector(連接器,這個是重點要說的)。然後在由Connector去找到只有一個的Engine,由Engine(引擎)通過URL發送到不同的Host裡面去,再由Host判斷請求路徑發送到Context中。

  我們來詳細的說一下每一項配置:/conf/server.xml

最上面,最外層就是我們的Server埠8005,可以執行SHUTDOWN(必須大寫)

然後就是我們的Service,name屬性可以隨便寫,Service也可以配置多個。

Connector連接器也是最重要的連接器,我們來看一下配置。

port對應埠號,不要衝突

protocol是監聽協議,默認是HTTP/1.1,我們可以配置為protocol="org.apache.coyote.http11.HttpNioProtocol" ,也就是我我們NIO模型。

minThread伺服器啟動時創建的處理請求的執行緒數

maxThread最大可以創建的處理請求的執行緒數

enableLookups如果為true,則可以通過調用request.getRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址

redirectPort指定伺服器正在處理http請求時收到了一個SSL傳輸請求後重定向的埠號

acceptCount指定當所有可以使用的處理請求的執行緒數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理

connectionTimeout指定超時的時間數(以毫秒為單位)

URIEncoding設置編碼格式

SSLEnabled 是否開啟 sll 驗證,在Https 訪問時需要開啟。

我都來配置一下。

有幾項我並沒有配置,裡面是需要jar包支援的。下一個部落格會說。

遇到tomcat啟動慢的時候我們可以設置

打開文件 /usr/java/jdk1.8.0/jre/lib/security/java.security

在文件中找到securerandom.source這個設置項,將其改為: securerandom.source=file:/dev/./urandom