亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

Tomcat的服務(wù)器介紹

來源: aiqinchao 發(fā)布時間:2018-12-08 14:37:45 閱讀量:1110

下面內(nèi)容部分網(wǎng)上摘抄。謝謝原作者無私的奉獻。


環(huán)境搭建完之后,就是需要tomcat的配置了,那先了解下tomcat是什么,可以干嘛。


Tomcat 是由 Apache 開發(fā)的一個 Servlet 容器,實現(xiàn)了對Servlet 和 JSP 的支持,并提供了作為Web服務(wù)器的一些特有功能,如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。


由于 Tomcat 本身也內(nèi)含了一個 HTTP 服務(wù)器,它也可以被視作一個單獨的 Web 服務(wù)器。但是,不能將 Tomcat 和 Apache HTTP 服務(wù)器混淆,ApacheHTTP 服務(wù)器是一個用 C 語言實現(xiàn)的 HTTP Web 服務(wù)器;這兩個 HTTPweb server 不是捆綁在一起的。Tomcat 包含了一個配置管理工具,也可以通過編輯XML格式的配置文件來進行配置。




B/S工作流程


上面主要可以看到分兩個部分,一個是HTTP請求,一個是HTTP響應(yīng)。


請求分兩種:動態(tài)請求和靜態(tài)請求。


動態(tài)請求:jsp、cgi、asp、php


靜態(tài)請求:html、htm


什么是WEB容器:處理動態(tài)請求,可以直接連接數(shù)據(jù)庫。


1.1       tomcat主要目錄

/bin – Tomcat: 腳本存放目錄(如啟動、關(guān)閉腳本)。 *.sh 文件用于 Unix 系統(tǒng); *.bat 文件用于 Windows 系統(tǒng)。


/conf – Tomcat: 配置文件目錄。


/lib--Tomcat:tomcat服務(wù)器所需要的各個庫文件


/logs – Tomcat: 默認日志目錄。


/webapps – Tomcat:web應(yīng)用程序存放的目錄,web項目保存到此目錄即可發(fā)布。


/work-- Tomcat:臨時文件夾,生成所有的臨時文件(*.java、*.class)


1.2       Web工程發(fā)布的目錄結(jié)構(gòu)

|-- myWebApp# 站點根目錄


 |-- META-INF # META-INF 目錄


 | `--MANIFEST.MF # 配置清單文件


 |-- WEB-INF # WEB-INF 目錄


 | |-- classes# class文件目錄


 | | |--*.class # 程序需要的class 文件


 | | `-- *.xml# 程序需要的xml 文件


 | |-- lib # 庫文件夾


 | | `-- *.jar# 程序需要的jar 包


| `-- web.xml # Web應(yīng)用程序的部署描述文件


 |-- <userdir># 自定義的目錄


 |-- <userfiles># 自定義的資源文件


 


myWebApp:工程發(fā)布文件夾。其實每個 war 包都可以視為 myWebApp的壓縮包。


META-INF:META-INF 目錄用于存放工程自身相關(guān)的一些信息,元文件信息,通常由開發(fā)工具,環(huán)境自動生成。


WEB-INF:Java web應(yīng)用的安全目錄。所謂安全就是客戶端無法訪問,只有服務(wù)端可以訪問的目錄。


/WEB-INF/classes:存放程序所需要的所有 Java class 文件。


/WEB-INF/lib:存放程序所需要的所有 jar 文件。


/WEB-INF/web.xml:web 應(yīng)用的部署配置文件。它是工程中最重要的配置文件,它描述了 servlet和組成應(yīng)用的其它組件,以及應(yīng)用初始化參數(shù)、安全管理約束等。




查看服務(wù)是否已經(jīng)安裝好,先測一下。在瀏覽器輸入你的公網(wǎng)ip:8080,出現(xiàn)下面網(wǎng)頁表示安裝成功。




1.3      server.xml 配置

server.xml的結(jié)構(gòu):




注意:Service中可以有多個Connector元素,Host中可以有多個Context元素。


1.3.1        Server元素

Server 元素表示整個 Catalina servlet 容器。


因此,它必須是 conf/server.xml 配置文件中的根元素。它的屬性代表了整個 servlet 容器的特性。


表 2?1 Server屬性表


屬性


描述


備注


className


這個類必須實現(xiàn)org.apache.catalina.Server接口。


默認 org.apache.catalina.core.StandardServer


address


服務(wù)器等待關(guān)機命令的TCP / IP地址。如果沒有指定地址,則使用localhost。


port


服務(wù)器等待關(guān)機命令的TCP / IP端口號。設(shè)置為-1以禁用關(guān)閉端口。


shutdown


必須通過TCP / IP連接接收到指定端口號的命令字符串,以關(guān)閉Tomcat。


1.3.2        Service元素

Service元素表示一個或多個連接器組件的組合,這些組件共享一個用于處理傳入請求的引擎組件。Server 中可以有多個 Service。


表2? 2?2 Service屬性表


屬性


描述


備注


className


這個類必須實現(xiàn)org.apache.catalina.Service接口。


默認 org.apache.catalina.core.StandardService


name


此服務(wù)的顯示名稱,如果您使用標準 Catalina 組件,將包含在日志消息中。與特定服務(wù)器關(guān)聯(lián)的每個服務(wù)的名稱必須是唯一的。


實例 - conf/server.xml 配置文件示例


<?xml version="1.0" encoding="UTF-8"?>


<Serverport="8080"shutdown="SHUTDOWN">


<Servicename="xxx">


...


</Service>


</Server>


1.3.3        Executor元素

Executor表示可以在Tomcat中的組件之間共享的線程池。


 表2?3 Executor 屬性表


屬性


描述


備注


className


這個類必須實現(xiàn)org.apache.catalina.Executor接口。


默認 org.apache.catalina.core.StandardThreadExecutor


name


線程池名稱。


要求唯一, 供Connector元素的executor屬性使用


namePrefix


線程名稱前綴。


maxThreads


最大活躍線程數(shù)。


默認200


minSpareThreads


最小活躍線程數(shù)。


默認25


maxIdleTime


當前活躍線程大于minSpareThreads時,空閑線程關(guān)閉的等待最大時間。


默認60000ms


maxQueueSize


線程池滿情況下的請求排隊大小。


默認Integer.MAX_VALUE


<Servicename="xxx">


  <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"maxThreads="300"minSpareThreads="25"/>


</Service>


1.3.4        Connector元素

Connector代表連接組件。Tomcat 支持三種協(xié)議:HTTP/1.1、HTTP/2.0、AJP。


表2?4Connector屬性表


屬性


說明


備注


asyncTimeout


Servlet3.0規(guī)范中的異步請求超時


默認30s


port


請求連接的TCP Port


設(shè)置為0,則會隨機選取一個未占用的端口號


protocol


協(xié)議. 一般情況下設(shè)置為 HTTP/1.1,這種情況下連接模型會在NIO和APR/native中自動根據(jù)配置選擇


URIEncoding


對URI的編碼方式.


如果設(shè)置系統(tǒng)變量org.apache.catalina.STRICT_SERVLET_COMPLIANCE為true,使用 ISO-8859-1編碼;如果未設(shè)置此系統(tǒng)變量且未設(shè)置此屬性, 使用UTF-8編碼


useBodyEncodingForURI


是否采用指定的contentType而不是URIEncoding來編碼URI中的請求參數(shù)


以下屬性在標準的Connector(NIO, NIO2 和 APR/native)中有效:


 表2?5標準的Connector屬性表


屬性


說明


備注


acceptCount


當最大請求連接maxConnections滿時的最大排隊大小


默認100,注意此屬性和Executor中屬性maxQueueSize的區(qū)別.這個指的是請求連接滿時的堆棧大小,Executor的maxQueueSize指的是處理線程滿時的堆棧大小


connectionTimeout


請求連接超時


默認60000ms


executor


指定配置的線程池名稱


keepAliveTimeout


keeAlive超時時間


默認值為connectionTimeout配置值.-1表示不超時


maxConnections


最大連接數(shù)


連接滿時后續(xù)連接放入最大為acceptCount的隊列中. 對 NIO和NIO2連接,默認值為10000;對 APR/native,默認值為8192


maxThreads


如果指定了Executor, 此屬性忽略;否則為Connector創(chuàng)建的內(nèi)部線程池最大值


默認200


minSpareThreads


如果指定了Executor, 此屬性忽略;否則為Connector創(chuàng)建線程池的最小活躍線程數(shù)


默認10


processorCache


協(xié)議處理器緩存Processor對象的大小


-1表示不限制.當不使用servlet3.0的異步處理情況下: 如果配置Executor,配置為Executor的maxThreads;否則配置為Connnector的maxThreads. 如果使用Serlvet3.0異步處理, 取maxThreads和maxConnections的最大值


1.3.5          Context元素

Context元素表示一個Web應(yīng)用程序,它在特定的虛擬主機中運行。每個Web應(yīng)用程序都基于Web應(yīng)用程序存檔(WAR)文件,或者包含相應(yīng)的解包內(nèi)容的相應(yīng)目錄,如Servlet規(guī)范中所述。


 


屬性


說明


備注


altDDName


web.xml部署描述符路徑


默認 /WEB-INF/web.xml


docBase


Context的Root路徑


和Host的appBase相結(jié)合, 可確定web應(yīng)用的實際目錄


failCtxIfServletStartFails


同Host中的failCtxIfServletStartFails, 只對當前Context有效


默認為false


logEffectiveWebXml


是否日志打印web.xml內(nèi)容(web.xml由默認的web.xml和應(yīng)用中的web.xml組成)


默認為false


path


web應(yīng)用的context path


如果為根路徑,則配置為空字符串(""), 不能不配置


privileged


是否使用Tomcat提供的manager servlet


reloadable


/WEB-INF/classes/ 和/WEB-INF/lib/ 目錄中class文件發(fā)生變化是否自動重新加載


默認為false


swallowOutput


true情況下, System.out和System.err輸出將被定向到web應(yīng)用日志中


默認為false


1.3.6          Engine元素

Engine元素表示與特定的Catalina服務(wù)相關(guān)聯(lián)的整個請求處理機器。它接收并處理來自一個或多個連接器的所有請求,并將完成的響應(yīng)返回給連接器,以便最終傳輸回客戶端。


 表2?6  Engine元素


屬性


描述


備注


defaultHost


默認主機名,用于標識將處理指向此服務(wù)器上主機名稱但未在此配置文件中配置的請求的主機。


這個名字必須匹配其中一個嵌套的主機元素的名字屬性。


name


此引擎的邏輯名稱,用于日志和錯誤消息。


在同一服務(wù)器中使用多個服務(wù)元素時,每個引擎必須分配一個唯一的名稱。


1.3.7          Host元素

Host元素表示一個虛擬主機,它是一個服務(wù)器的網(wǎng)絡(luò)名稱(如“www.mycompany.com”)與運行Tomcat的特定服務(wù)器的關(guān)聯(lián)。


 


屬性


說明


備注


name


名稱


用于日志輸出


appBase


虛擬主機對應(yīng)的應(yīng)用基礎(chǔ)路徑


可以是個絕對路徑, 或${CATALINA_BASE}相對路徑


xmlBase


虛擬主機XML基礎(chǔ)路徑,里面應(yīng)該有Context xml配置文件


可以是個絕對路徑, 或${CATALINA_BASE}相對路徑


createDirs


當appBase和xmlBase不存在時,是否創(chuàng)建目錄


默認為true


autoDeploy


是否周期性的檢查appBase和xmlBase并deploy web應(yīng)用和context描述符


默認為true


deployIgnore


忽略deploy的正則


deployOnStartup


Tomcat啟動時是否自動deploy


默認為true


failCtxIfServletStartFails


配置為true情況下,任何load-on-startup>=0的servlet啟動失敗,則其對應(yīng)的Contxt也啟動失敗


默認為false


1.3.8          Cluster元素

由于在實際開發(fā)中,我從未用過Tomcat集群配置,所以沒研究。


1.4        部署方式

這種方式要求本地必須安裝 Tomcat 。


將打包好的 war 包放在 Tomcat 安裝目錄下的 webapps 目錄下,然后在 bin 目錄下執(zhí)行 startup.bat (windows)或 startup.sh(linux) ,Tomcat 會自動解壓 webapps 目錄下的 war 包。


成功后,可以訪問 http://公網(wǎng)IP:8080/xxx (xxx 是 war 包文件名)。


注意:


以上步驟是最簡單的示例。步驟中的 war 包解壓路徑、啟動端口以及一些更多的功能都可以修改配置文件來定制 (主要是 server.xml或 context.xml 文件)。

--------------------- 



分享:
評論:
你還沒有登錄,請先