tomcat --- server.xml

tomcat的目錄結構如下:
  • 目錄名: 簡介
    • bin : 存放啓動和關閉tomcat腳本
    • conf : 包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xml
    • work : 存放jsp編譯後產生的class文件
    • webapp: 存放應用程序示例,以後你要部署的應用程序也要放到此目錄
    • logs : 存放日誌文件
    • lib/japser/common : 這三個目錄主要存放tomcat所需的jar文件
(二):server.xml配置簡介

參考官網:http://tomcat.apache.org/tomcat-8.0-doc/config/context.html

  • server:
    • port 指定一個端口,這個端口負責監聽關閉tomcat的請求
    • shutdown 用於監聽是否關閉Tomcat

  • service: (一個service標籤對應一個項目服務啓動,可同時配置多個)
    • name 指定service的名字 ,防止多個Service衝突,這裏必須是唯一的
    • className Service的實現,默認使用org.apache.catalina.core.StandardService

  • Listener
    • className 監聽Tomcat容器生命週期,必須實現org.apache.catalina.LifecycleListener.

  • Excutor
    • threadPriority 線程優先級,默認是 Thread.NORM_PRIORITY ,表示沒有優先順序
    • daemon 是否稱爲Tomcat主線程的伴隨線程,默認true
    • namePrefix 線程池名稱前綴
    • maxThreads 最大創建的線程數目,併發數
    • minSpareThreads 最小保留的線程數,默認是25
    • maxIdleTime 如果線程數量多於minSpareThreads,那麼其中一部分的空閒時間超過此時間,線程會被殺死,直到等於 minSpareThread
    • maxQueueSize 線程進入隊列之前的可以保持的最大數量,默認是Integer.MAX_VALUE
    • prestartminSpareThreads 是否啓動之後,馬上創建minSpareThreads數量的線程,默認是false

  • Connector (表示客戶端和service之間的連接):
    • port 指定服務器端要創建的端口號,並在這個斷口監聽來自客戶端的請求
    • allowTrace 是否支持跟蹤請求轉發過程,默認是false
    • asyncTimeout 一部分訪問超時時間, 默認是30000(30秒)
    • enableLookups 是否對遠程地址進行DNS查詢,影響效率,默認false
    • maxHeaderCount 最大的headers信息數量,默認100,設置爲0表示沒有限制
    • maxParameterCount 最大的參數數量,默認1000,設置爲0表示沒有限制
    • maxPostSize 表單POST請求提交允許的最大數據包,默認爲2M=2*1024*1024
    • maxSavePostSize 允許SSL驗證過程中最大的緩存大小,默認是4kb=4096
    • protocol 協議處理類
      org.apache.coyote.http11.Http11Protocol - blocking Java connector
      org.apache.coyote.http11.Http11NioProtocol - non blocking Java NIO connector
      org.apache.coyote.http11.Http11Nio2Protocol - non blocking Java NIO2 connector
      org.apache.coyote.http11.Http11AprProtocol - the APR/native connector.
      unix-like系統中是HTTP/1.1,此協議可以自動交換APR與NIO協議,如果安裝了APR,那麼APR優先;此外,windows下HTTP/1.1則會編程APR與BIO的自動切換。
      tomcat 8自帶類APR
    • scheme 協議標籤,默認是http
    • secure 是否使用安全模式通信,默認是false,注意,在SSL配置後建議開啓
    • useIPVHosts 是否使用IP指向虛擬主機,默認是false,如果是ture,將造成請求轉發到該ip
    • xpoweredBy 程序所有權,默認是false,不安全
    • acceptCount 請求隊列的最大長度,默認100
    • maxThreads 最大啓動的線程數
    • executor 指定Connector要使用線程池,默認使用內置的線程池
    • acceptorThreadCount cpu數量
    • compressableMimeType 要壓縮的文件符合的類型,默認是text/html,text/xml,text/plain,text/css,text/javascript,application/javascript
    • compression 壓縮功能,值爲on或者off,默認on
    • compressionMinSize 符合壓縮條件的最小文件大小
    • connectionUploadTimeout 上傳文件的超時時間,默認
    • disableUploadTimeout 是否禁止使用上傳超時時間,默認true,表示以更長時間等待文件上傳
    • keepAliveTimeout Keep-Alive連接超時時間,默認和connectionTimeout一致
    • maxConnections 最大連接數,NIO下10000,APR是8192(windows下降爲1024)
    • maxKeepAliveRequests 最大保持活躍的連接數,默認100

  • Engine
    • className org.apache.catalina.Engine 接口的實現類
    • defaultHost 默認接收的主機名稱
    • jvmRoute 用於負載均衡設計,可以給Node一個名稱
    • name 邏輯名稱,用來提供日誌記錄等,名稱必須和其他Engine不能衝突

  • host :
    • name 指定主機名
    • autoDeploy 是否自動部署
    • appBase 網站文件目錄, 應用程序基本目錄,即存放應用程序的目錄
    • unpackWARs 如果爲true,則tomcat會自動將WAR文件解壓,否則不解壓,直接從WAR文件中運行應用程序
    • className org.apache.catalina.Host 接口的實現類

  • Logger (表示日誌,調試和錯誤信息, 例:localhost_log.2001-10-04.txt ):
    • className 指定logger使用的類名,此類必須實現org.apache.catalina.Logger 接口
    • prefix 指定log文件的前綴
    • suffix 指定log文件的後綴
    • timestamp 如果爲true,則log文件名中要加入時間

新版本中Logger已經被替換成了Values

  • 新增瞭如下屬性
    • className org.apache.catalina.valves.AccessLogValve,日誌實現類
    • directory 日誌保存的目錄
    • pattern 日誌內容格式 如:%h %l %u %t "%r" %s %b
    • fileDateFormat 自定義時間戳,用於作爲日誌的suffix的前綴

  • Context (表示一個web應用程序,通常爲WAR文件,關於WAR的具體信息見servlet規範):
    • docBase 應用程序的路徑或者是WAR文件存放的路徑
    • path 表示此web應用程序的url的前綴,這樣請求的url爲http://localhost:8080/**
    • reloadable 這個屬性非常重要,如果爲true,則tomcat會自動檢測應用程序的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動裝載新的應用程序,我們可以在不重起tomcat的情況下改變應用程序

  • Tomcat管理

進行具體的管理,我們需要給tomcat添加一個用戶,使這個用戶有權限來進行管理。
打開conf目錄下的tomcat-users.xml文件,在相應的位置添加下面一行:

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="tomcat"/>
<user password="manager" roles="tomcat,manager-gui,admin-gui" username="tomcat"/>

注意:這一行的最後部分一定是/>,tomcat的文檔掉了/符號,如果沒有/符號的話,tomcat重起時將無法訪問應用程序。通過logs/catalina.out文件你可以看到這個錯誤的詳細信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章