日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apache-tomcat

發布時間:2024/9/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache-tomcat 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

總體說明

官網:http://tomcat.apache.org/

版本:7.0.x

tomcat目錄結構及管件文件

Apache-Tomcat
 |
 +-- bin    --存放tomcat在window或linux平臺下操作的腳本文件
 +  |
 +  +-- startup.sh    --tomcat在linux下的啟動腳本
 +  +-- startup.bat    --tomcat在windows下的啟動腳本
 +  +-- version.sh    --tomcat在linux下的查看版本腳本
 +  +-- version.bat    --tomcat在windows下的查看版本腳本
 +  +-- shutdown.sh    --tomcat在linux下的關閉腳本
 +  +-- shutdown.bat    --tomcat在windows下的關閉腳本
 +  +-- ……
 +-- conf    --存放tomcat所有的配置文件
 +  |
 +  +-- Catalina
 +  +-- |
 +  +-- +-- localhost    --通過配置的放置進行部署
 +  +-- server.xml    --tomcat的主要配置文件
 +  +-- web.xml    --默認web應用使用到的配置,子項目將會繼承于此
 +  +-- ……
 +-- lib    --存放tomcat所需要的以及作用于全局的jar
 +-- logs    --存放日志文件
 +-- temp    --臨時目錄
 +-- webapps    --應用程序部署目錄
 +-- work    --存放JSP文件的轉譯和編譯文件目錄
 +-- LICENSE
 +-- NOTICE
 +-- RELEASE-NOTES
 +-- RUNNING.TXT

tomcat的類的優先級順序

  • ?webprj/WEB-INF/classes/*.class
  • webprj/WEB-INF/lib/*.jar
  • BootStrap($JAVA_HOME/jre/lib/ext/*.jar)
  • System($CLASSPATH/*.jar 或 *.class)
  • $CATALINA_HOME/lib/*.jar
  • 在tomcat部署的應用程序中,放置在webprj/WEB-INF/classes/*.class文件最優先被使用。

    技巧:當我們需要覆蓋第三方或其他商業jar中的class文件時,可以通過在這個目錄中建立相同包名.類名的class進行覆蓋。

    conf/server.xml的說明

    典型tomcat中server.xml配置
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 <?xml?version='1.0'?encoding='utf-8'?> <Server?port="8005"?shutdown="SHUTDOWN"> ????<Listener?className="org.apache.catalina.startup.VersionLoggerListener"?/> ????<Listener?className="org.apache.catalina.core.AprLifecycleListener"?SSLEngine="on"?/> ????<Listener?className="org.apache.catalina.core.JasperListener"?/> ????<Listener?className="org.apache.catalina.core.JreMemoryLeakPreventionListener"?/> ????<Listener?className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"?/> ????<Listener?className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"?/> ????<GlobalNamingResources> ????????<Environment?name="maxExemptions"?value="10"?type="java.lang.Integer"?override="false"?/> ????????<Resource?auth="Container"?factory="com.alibaba.druid.pool.DruidDataSourceFactory" ????????????name="DefaultDataSource"?username="dbuser"?password="******"?maxActive="10"?maxIdle="2" ????????????maxWait="5000"?type="javax.sql.DataSource"?url="dbconnecturl"?/> ????</GlobalNamingResources> ????<Service?name="Catalina"> ????????<Executor?name="tomcatThreadPool"?namePrefix="catalina-exec-" ????????????maxThreads="150"?minSpareThreads="4"?/> ????????<Connector?port="8080"?protocol="HTTP/1.1" ????????????connectionTimeout="20000"?redirectPort="8443"?/> ????????<Connector?port="8009"?protocol="AJP/1.3"?redirectPort="8443"?/> ????????<Engine?name="Catalina"?defaultHost="localhost"> ????????????<Realm?className="org.apache.catalina.realm.LockOutRealm"> ????????????????<Realm?className="org.apache.catalina.realm.UserDatabaseRealm"?resourceName="UserDatabase"?/> ????????????</Realm> ????????????<Host?name="localhost"?appBase="webapps"?unpackWARs="true"?autoDeploy="true"> ????????????????<Valve?className="org.apache.catalina.valves.AccessLogValve" ????????????????????directory="logs"?prefix="localhost_access_log."?suffix=".txt" ????????????????????pattern="%h %l %u %t &quot;%r&quot; %s %b"?/> ????????????</Host> ????????</Engine> ????</Service> </Server>

    Server節點:

    Server節點表示整個Tomcat Servlet容器,此節點是Server.xml的根節點,用于描述整個Tomcat Servlet容器的特點。屬性描述: 屬性名稱 必須 默認取值 描述
    classNametomcat標準實現指定Server實現java類的全限定名,此類必須實現org.apache.catalina.Server接口。tomcat標準實現:org.apache.catalina.core.StandardServer
    addresslocalhost指定連接端口的IP地址。

    port

    8005指定關閉tomcat的監聽端口,該端口不能被其他進程所占用。關閉該端口,可以設置為“-1”,則不能通過shutdown.sh/shutdiwn.bat的方式停止tomcat。?
    shutdownSHUTDOWN指定關閉tomcat的關閉命令,嚴格區分大小寫。

    Listener節點:

    用于處理Tomcat Server啟動或停止時特定的一些動作處理。Listener節點可以作為Server、Engine、Context、Host子節點存在,作用在子節點時相關的約束在將限制在子節點內。以下列舉tomcat自帶的幾個Listener進行說明。

    • org.apache.catalina.startup.VersionLoggerListener

    說明:作用是Tomcat Server在啟動時輸出的基本信息,信息包含Tomcat Server、Java、System,在catalina.out中會看到。此Listener只能用在Server節點下,并且放在Listener的首個。屬性描述:

    屬性名稱 必須 默認取值 描述
    logArgstrue如果設定為true,將會在日志中輸出啟動腳本中的參數。
    logEnvfalse如果設定為true,將會在日志中輸出當前的環境變量。
    • org.apache.catalina.core.AprLifecycleListener

    說明:Tomcat Server在啟動過程中檢測APR的本地庫和加載庫是否存在。此Listener只能用在Server節點下。屬性描述:

    屬性名稱 必須 默認取值 描述
    SSLEngineon

    on:開啟SSL,將使用本地的SSL Engine

    off:不使用SSL

    SSLRandomSeedbuiltin
    FIPSModeoff

    FIPSMode依賴于用戶自己建立的OpenSSL庫,如果取值不是off,必須要保證SSLEngine已經正常啟動。

    on:需要設置OpenSSL設置為FIPS模式

    enter:強制設置OpenSSL使用FIPS模式,如果OpenSSL已經是FIPS模式,將會發生錯誤。

    require:需要設置OpenSSL為FIPS模式,如果OpenSSL不是FIPS模式,將會發生錯誤。

    off:?

    • org.apache.catalina.core.JasperListener

    說明:Tomcat Server在加載所有Web Application之前必須要先對JSP的引擎通過此Listener進行初始化。此Listener只能用在Server節點下。

    • org.apache.catalina.core.JreMemoryLeakPreventionListener

    說明:會隨著Tomcat Server啟動對類加載器監控是否發生內存泄露的狀況。

    屬性名稱 必須 默認取值 描述
    appContextProtection

    true <= jdk1.6

    false >= jdk1.7

    保護應用程序不會發生內存泄露,但這將會導致應用程序中的部分內容停止運行。
    AWTThreadProtectionfalse
    classesToInitialize??
    driverManagerProtection??
    gcDaemonProtection??
    java2DDisposerProtection??
    ldapPoolProtection??
    securityLoginConfigurationProtection??
    securityPolicyProtection??
    tokenPollerProtection??
    urlCacheProtection??
    xmlParsingProtection??
    • org.apache.catalina.mbeans.GlobalResourcesLifecycleListener

    說明:配置Tomcat Server在啟動過程中可以識別GlobalNamingResources里面配置的數據源。此LISTENER只能作用在Server節點下。

    • org.apache.catalina.core.ThreadLocalLeakPreventionListener

    說明:

    GlobalNamingResources節點:

    用于配置Tomcat Server全局的JNDI數據源。

    Environment節點:

    用戶配置Tomcat Server全局的變量。

    屬性名稱 必須 默認取值 描述
    description環境變量的描述說明
    name環境變量的名稱,
    overridetrue是否允許被同名的環境變量所覆蓋。
    type環境變量數據的類型,類的全限定名。
    value環境變量的取值

    Resource節點:

    配置JNDI數據源。

    屬性名稱 必須 默認取值 描述
    auth

    Application:

    Container:

    closeMethod在單例資源的情況下,當資源不再被使用時將會觸發closeMethod進行資源釋放。非單例資源的情況下,此參數將被忽略。
    description

    JNDI資源的描述。

    nameJNDI資源的名稱。
    scopeShareable

    Shareable:

    Unshareable:

    singletontrue此資源是否為單例類型。如果為true,每次通過JNDI查找到的結果將會是同一個實例,如果為false每次返回的將是不同的實例。如果是javax.sql.DataSource類型的資源,此處必須使用true。
    typeWeb應用程序中,通過JNDI查找此資源時使用的JavaClass的全限定名。

    ResourceLink節點:

    將一個全局的JNDI資源引入到一個WEB項目中。

    Transaction節點:

    Service節點:

    Service節點由至少一個Connector和一個Engine節點組成,用來處理Connector節點上接收到的請求??梢杂啥鄠€Service節點在Server節點內。

    屬性名稱 必須 默認取值 描述
    className

    tomcat的標準實現

    org.apache.catalina.core.StandardService

    service的實現類的全限定名,必須實現org.apache.catalina.Service接口。如果該屬性沒有特殊指定,將會使用tomcat標準實現。
    nameservice的名稱,在tomcat標準實現中會在日志中輸出。如果配置多個service節點,此名稱要保證唯一性?!?/td>

    Executor節點:

    可以建立統一公共的線程池,供多個Connector使用。

    屬性名稱 必須 默認取值 描述
    className

    tomcat標準實現

    org.apache.catalina.core.StandardThreadExecutor

    創建Executor線程池Java類的全限定名,此類必須要實現org.apache.catalina.Executor接口。
    name線程池的引用名稱,此名稱必須是唯一的。

    使用Tomcat標準實現(org.apache.catalina.core.StandardThreadExecutor)的其他屬性

    屬性名稱 必須 默認取值 描述
    threadPriority5描述當前線程的優先級。
    daemontrue描述是否為守護線程。
    namePrefix?線程名稱前綴。線程名稱命名規則:namePrefix+threadNumber
    maxThreads200線程池中最大的活動線程數。
    minSpareThreads25線程池中最下的空閑線程數。
    maxIdleTime60000毫秒線程空閑時常,當線程中中線程超過minSpareThreads的數量,且空閑時長達到maxIdleTime后,線程池將會銷毀此線程。
    maxQueueSizeInteger.MAX_VALUE當線程池中沒有空閑處理線程,請求將會暫存在此隊列中,等待空閑線程處理。
    prestartminSpareThreads

    falser

    tomcat啟動后是否按照minSpareThreads指定的數量創建最小線程數。
    threadRenewalDelay1000

    Connector節點:

    Tomcat Server提供了2個類別的Connector的不同實現,分別是Http Connector和AJP Connector,下面將針對兩種Connector進行分別說明。

    Http Connector

    HTTP Connector代表了支持HTTP/1.1協議的Connector組件,使Tomcat Server成為一個能夠執行servlet和JSP頁面的獨立的Web服務器。一個HTTP Connector組件的實例監聽服務器上一個特定的TCP端口號上的連接。一個或多個這樣的連接器可以配置成一個單一Service的一部分,每個轉發到相關聯的Engine 處理請求,并創建響應。如果你要配置的Connector,用于連接到Web服務器(Apache Web Server)使用的的AJP協議。

    通用配置屬性:

    屬性名稱 必須 默認取值 描述
    allowTrace?false指定是否開啟TRACE HTTP method。
    asyncTimeout?10000異步請求的超時時間設置,單位:毫秒。
    enableLookups?false

    主要是對request.getRemoteHost()方法產生影響,是否通過DNS查找主機名。

    true:通過DNS查找該地址的主機名。

    false:直接返回發起請求的主機IP地址。

    maxHeaderCount?100限定一個請求頭中允許攜帶header的數量,超過該數量的請求將會被拒絕。如果設定為負數,表示不限制。
    maxParameterCount?10000限制GET加POST請求發送參數的數量,超過該數量的請求參數將會被丟棄。如果設定為負數,表示不限制。
    maxPostSize?2097152限制在POST時,可以通過URL傳遞參數的數據量。單位:字節。
    maxSavePostSize??4096

    將被容器在FORM或CLIENT-CERT認證中保存/緩沖的POST的最大尺寸。單位:字節。

    parseBodyMethods?post以逗號分隔的HTTP方法列表,通過方法列表,等同于POST方法,request 正文將被解析成請求參數。在這里為了符合HTTP規范明確禁止HTTP方法TRACE。
    port啟動監聽的端口號。如果設置為0,Tomcat將會隨機產生一個空閑的端口提供服務。
    protocol?HTTP/1.1

    Tomcat Server處理請求的方式

    org.apache.coyote.http11.Http11Protocol:阻塞的Java連接器(bio)。

    org.apache.coyote.http11.Http11NioProtocol:非阻塞的Java連接器(nio)。

    org.apache.coyote.http11.Http11AprProtocol:APR/Native連接器(apr)。

    proxyName?
    proxyPort?
    redirectPort?如果該Connector支持SSL請求,并且該請求是SSL請求,Tomcat Server會將該請求轉向到此處指定的端口號。
    scheme?HTTP設定request.getScheme()獲取到的協議名稱。
    secure?false
    URIEncoding?ISO-8859-1指定URI字符集編碼。
    useBodyEncodingForURI?false是否使用URI字符集編碼對queryString進行轉碼。
    useIPVHosts?false
    xpoweredBy?false

    tomcat標準實現配置屬性:

    屬性名稱 必填 默認取值 描述
    acceptCount100當沒有空閑工作線程來處理請求時,請求將會進行暫存排隊。允許最大的排隊數量,超出改數量后,服務器將會拒絕請求。
    acceptorThreadCount1用于接受連接的線程數量。在一個多CPU的機器上可以增加該值。
    acceptorThreadPriority5接受連接線程的優先級。
    address*監聽端口綁定的IP地址。默認情況是綁定所有IP地址。
    bindOnInittrue
    compressableMimeType

    text/html,text/xml,text/plain

    可用于壓縮的MIME類型列表,多個取值的時候,使用英文半角逗號分隔。
    compressionoff是否開啟HTTP/1.1的GZIP壓縮協議。on:允許壓縮,將對文本類型進行壓縮;force:強制壓縮,將對所有類型進行壓縮。
    compressionMinSize2048在compression為on的情況下,指定壓縮后輸出的最小值
    connectionLinger-1socket連接空閑時長,單位:秒。-1表示關閉socket空閑時長。
    connectionTimeout60000請求連接的超時時長,單位:毫秒。-1:沒有限制。
    connectionUploadTimeout?上傳數據過程中的超時時長設置,單位:毫秒。此屬性只有在disableUploadTimeout=false的情況下有效。
    disableUploadTimeouttrue是否限制上傳數據過程中的超時時長。取值為false時,需要設置connectionUploadTimeout的取值。
    executor?指定引用的executor。如果被指定,此節點上所有相關線程的設置都將被忽略,而直接使用被指定executor線程池提供的線程。
    executorTerminationTimeoutMillis??
    keepAliveTimeout?連接器在關閉之前,將等待HTTP請求的毫秒數,默認使用connectionTimeout的取值。-1標識沒有限制。
    maxConnections?連接器在同一時刻所能接受的最大連接數。達到此值后連接器不再接受任何連接。BIO默認使用的是maxThread取值;NIO默認取值是10000;APR的默認取值是8192。-1標識不限制最大連接數。
    maxExtensionSize??
    maxHttpHeaderSize8388608Http包中頭信息的大小,單位:字節。默認是8192KB。
    maxKeepAliveRequests100一個連接中允許最大處理請求的個數。1:將會禁用長連接;-1:表示不限制;
    maxSwallowSize??
    maxThreads200用于處理請求的最大線程數。
    maxTrailerSize8192
    minSpareThreads10最小空閑線程數。
    noCompressionUserAgents?
    processorCache200

    可以緩存的processor對象個數。-1:沒有限制。

    restrictedUserAgents??
    serverApache-Coyote/1.1Http響應頭中Servet字段的取值信息。
    socketBuffer9000套接字緩沖區大小,單位:字節。-1:沒有緩沖區。
    SSLEnabledfalse此連接器是否使用SSL連接器傳輸數據。
    tcpNoDelaytrue如果設置為true,TCP_NO_DELAY選項將被設置在服務器上的套接字上,在大多數情況下,這樣可以提高性能。
    threadPriority5線程優先級。
    upgradeAsyncWriteBufferSize??

    TCP Socket連接屬性配置,在BIO和NIO模式下支持配置:

    屬性名稱 必須 默認值 描述
    socket.rxBufSizeJVM設置Socket接收緩沖區(SO_RCVBUF),以字節為單位。
    socket.txBufSizeJVM設置Socket發送緩沖區(SO_SNDBUF),以字節為單位。
    socket.tcpNoDelayJVM設置相當于Socket的標準屬性tcpNoDelay,boolean類型取值
    socket.soKeepAliveJVM設置Socket長連接設置(SO_KEEPALIVE),取值:boolean類型
    socket.ooBInlineJVM設置

    Socket OOBINLINE設置,取值:boolean類型

    socket.soReuseAddressJVM設置Socket復用連接地址(SORESUEADDR),取值:boolean類型
    socket.soLingerOnJVM設置Socket延時關閉選項,標準屬性中connectionLinger>=0時,此值為true,connectionLinger<0時,此值為false。取值為true時,必須設置socket.soLingerTime,否則將使用JVM設置。取值:boolean類型
    socket.soLingerTimeJVM設置Socket延時關閉時長(SO_LINGER),單位:秒。
    socket.soTimeout?相當于標準屬性中的connectionTimeout
    socket.performanceConnectionTimeJVM設置性能設置的第一個值,這三個值必須同時設置。
    socket.performanceLatencyJVM設置性能設置的第二個值,這三個值必須同時設置。
    socket.performanceBandwidthJVM設置性能設置的第三個值,這三個值必須同時設置。
    socket.unlockTimeout250Socket解鎖的超時時間,單位:毫秒。

    BIO的特殊配置項

    屬性名稱 必須 默認值 描述
    disableKeepAlivePercentage75長連接失效之前被使用的處理線程的百分比,取值:0=<num<=100

    NIO的特殊配置

    屬性名稱 必須 默認值 描述
    pollerThreadCount1處理輪詢事件的線程數量,在版本7.0.27及以前版本,默認值是每個處理器1個。版本7.0.28的默認值是每個處理器1個,但不超過2個。
    pollerThreadPriority5輪詢線程的優先級。
    selectorTimeout1000選擇輪詢器的超時時間。單位:毫秒。
    useComettrue是否允許comet servlet。comet是基于http的長連接技術。
    useSendfiletrue是否允許send file。
    socket.directBufferfalse直接使用ByteBuffers或java映射的ByteBuffers。當使用direct ByteBuffers,請確保你分配適當的內存量給直接內存空間。JDK配置如-XX:MaxDirectMemorySize=256M。
    socket.appReadBufSize8192在Tomcat中每個連接的開辟連接一個讀ByteBuffer。此屬性控制這個緩沖區的大小。單位:字節。對于較低的并發,可以增加這個值以緩沖更多的數據。對于長連接數很多的情況,需要降低這個數值或者增加堆大小。
    socket.appWriteBufSize8192在Tomcat中每個連接的開辟連接一個寫ByteBuffer。此屬性控制這個緩沖區的大小。單位:字節。對于較低的并發,你可以增加這個值以緩沖更多的響應數據。對于長連接數很多的情況,你需要降低這個數值或者增加堆大小。
    socket.bufferPool500NIO連接器使用NioChannel這個類來持有鏈接到一個套接字的元素。為了減少垃圾收集,NIO連接器緩存這些通道的對象。此值指定這個緩存的大小。默認值是500,表示緩存將持有500個?NioChannel的對象。-1表示不限制緩存大小,0表示不緩存。
    socket.bufferPoolSize1024*1024*100NioChannel池是基于尺寸大小,而不是基于對象數的。NioChannel的緩沖區大小=讀取緩沖區大小+寫入緩沖區大小;SecureNioChannel的緩沖區大小=應用程序讀取緩沖區大小+應用程序寫入緩沖區的大小+網絡讀取緩沖區大小+網絡寫入緩沖區的大小。單位:字節。
    socket.processorCache500Tomcat緩存SocketProcessor對象的最大值。默認值是500。-1表示不限制緩存大小,0表示不緩存。
    socket.keyCache500Tomcat緩存KeyAttachment對象的最大值。默認值是500。-1表示不限制緩存大小,0表示不緩存。
    socket.eventCache500Tomcat緩存PollerEvent對象的最大值。默認值是500。-1表示不限制緩存大小,0表示不緩存。
    selectorPool.maxSelectors200以減少選擇器的爭用,在池中使用的選擇器最大個數。命令行值org.apache.tomcat.util.net.NioSelectorShared設置為false時,使用此選項。
    selectorPool.maxSpareSelectors-1以減少選擇器的爭用,在池中使用的最大備用選擇器個數。當選擇器返回到池中時,系統可以決定保留它或者讓他垃圾回收。當org.apache.tomcat.util.net.NioSelectorShared?值設置為false時,使用此選項。默認值是-1(無限制)
    command-line-options?可用于NIO連接器的命令行選項。如果你想每個線程使用一個選擇器,將此值設置為false。當你將它設置為false,你可以通過使用selectorPool.maxSelectors屬性控制選擇器池的大小。
    oomParachute1024*1024*1NIO連接器實現了一個名叫parachute的OutOfMemoryError錯誤的策略。它擁有一個塊的數據作為一個字節數組。在一個OOM的情況下,這個數據塊被釋放,并報告錯誤。單位:字節。

    APR的特殊配置

    屬性名稱 必須 默認值 描述
    deferAccept?Socket連接上設置TCP_DEFER_ACCEPT標志。操作系統支持TCP_DEFER_ACCEPT時為true,否則為false
    pollerSize8192在一個給定的時間內,負責長連接輪詢的輪詢器能夠持有的線程數。額外的連接將被馬上關閉。默認值是8192,與8192個長連接數一致。
    pollTime?1000*1000

    輪詢調用持續的時間(以微秒為單位)。在某些情況下,降低該值將略微減少潛在的連接數,但隨著增加的輪詢調用會使用更多的CPU。默認值是2000(毫秒)。

    sendfileSize

    1024

    threadPriority5接收器和輪詢器線程的優先級。
    useComettrue允許或禁止Comet servlet
    useSendfiletrue使用此屬性來啟用或禁用sendfile的能力

    AJP Connector

    AJP Connector主要使用在通過Web服務于tomcat連接時使用的一種協議,比如通過apache或iis。目前使用此場景較少,當前越來越多的情況下在使用nginx的WEB服務器作為連接中轉。此處不再進行詳細說明。

    Engine節點:

    是一個Servlet容器,可以包含該多個虛擬主機(通過Host實現)。主要就是將用戶請求分配給每一個虛擬主機進行處理,完成后再將結果返回給Connector。

    屬性名稱 必須 默認值 描述
    backgroundProcessorDelayfalse10backgroundProcessor方法指定的間隔時長。取值小于0時將不再執行此方法。法主要用于重新加載 Web 應用程序的類文件、資源和掃描 Session 過期。
    classNamefalsetomcat標準實現Engine實現類的全限定名。如果使用自定義實現,此類必須要實現org.apache.catalina.Engine接口。
    defaultHosttrue?指定默認的Host,取值必須是已經存在的Host節點的name。
    jvmRoutefalse?在負載均衡時使用到的標識符,保證取值必須是集群中唯一性。
    nametrue?Engine的邏輯名稱,在輸出日志和錯誤信息時會使用此名稱。
    startStopThreadsfalse1

    啟動和停止Host線程數。

    0:使用Runtime.getRuntime().availableProcessors()返回值。

    1:使用1個線程。

    >1:使用Runtime.getRuntime().availableProcessors()+num個線程。

    Host節點:

    虛擬主機配置

    屬性名稱 必須 默認值 描述 屬性名稱 必須 默認值 描述
    appBasewebapps聲明應用程序存放路徑,可以是相對路徑,也可以是絕對路徑。相對路徑是$CATALINA_HOME。
    xmlBaseconf/<engine_name>/<host_name>指定當前Host節點子節點單獨配置路徑,可以是相對路徑,也可以是絕對路徑。相對路徑是$CATALINA_HOME。
    createDirstrue啟動時是否創建appBase和xmlBase路徑,如果設置為true,當路徑創建失敗時,會在日志中進行記錄,但不影響啟動。
    autoDeploytrue是否自動部署。當設置為true,tomcat會監控appBase和xmlBase路徑下文件的變化,發生變化后會重新加載所在的應用程序。
    backgroundProcessorDelay?同Engine節點。如果沒有設置取值,也將會使用Engine中的取值。
    classNametomcat標準實現Host實現類的全限定名。使用自定義類時,此類必須要實現org.apache.catalina.Host接口。
    deployIgnore?使用表達式的方式指定在deploy時忽略的內容。在autoDeploy和deployOnStartup設置為true時生效。如:“.svn”、“*.bak”。
    deployOnStartuptrue如果設置為true,tomcat啟動時將會自動加載應用程序。
    failCtxIfServletStartFailsfalse如果設置為true,Context中應用程序中load-on-startup>=0的Servlet如果啟動發生錯誤,將會導致所在的Context加載失敗。
    name?當多個Host存在時,必須要保證唯一性。
    startStopThreads1同Engine節點。
    undeployOldVersionsfalse

    總結

    以上是生活随笔為你收集整理的Apache-tomcat的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。