bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Tomcat服務(wù)器常用配置詳解

2021-02-28    分類: 網(wǎng)站建設(shè)

一、常見(jiàn)JavaWeb服務(wù)器

1. WebLogic:是BEA公司的產(chǎn)品

2. WebSphereAS:是IBM公司的產(chǎn)品

3. JBossAS:紅帽公司的產(chǎn)品

4. Tomcat服務(wù)器:

Sun公司推出的小型Servlet/JSP調(diào)試工具的基礎(chǔ)上發(fā)展起來(lái)的一個(gè)Servlet容器,Tomcat本身完全用java語(yǔ)言編寫,所以tomcat的運(yùn)行需要java的支持,所以要先安裝JDK,才能運(yùn)行。

二、Tomcat的目錄結(jié)構(gòu)及常用配置

1. Tomcat的目錄層次結(jié)構(gòu)

a) bin:存放啟動(dòng)和關(guān)閉Tomcat的腳本文件

b) conf: 存放Tomcat服務(wù)器的各種配置文件

c) lib:存放tomcat服務(wù)器支撐的jar包

d) logs:存放Tomcat的日志文件

e) temp: 存放Tomcat運(yùn)行時(shí)產(chǎn)生的臨時(shí)文件

f) webapps:web應(yīng)用雖在目錄,即供外界訪問(wèn)的web資源的存放目錄

g) work:Tomcat的工作目錄

2. JavaWeb應(yīng)用的組成結(jié)構(gòu)

mail---------------------------Web應(yīng)用所在目錄

|----html、jsp、css、js等文件,根目錄下的文件外界可以直接訪問(wèn)

|----WEB-INF目錄

|---------classes目錄(java類)

|---------lib目錄(java類運(yùn)行所需的jar包)

|---------web.xml(web應(yīng)用的配置文件)

WEB-INF 這個(gè)目錄下的文件外界無(wú)法直接訪問(wèn),由web服務(wù)器負(fù)責(zé)調(diào)用

3. JavaWeb應(yīng)用的發(fā)布

 開(kāi)放式目錄方式:打包war方式: 使用 Jar -cvf *.war .

4. Tomcat的組成結(jié)構(gòu)

Tomcat本身由一系列可配置的組件構(gòu)成,其中核心組件是Servlet容器組件,它是所有其他Tomcat組件的頂層容器。每個(gè)組件都可以在Tomcat安裝目錄/conf/server.xml文件中進(jìn)行配置,每個(gè)Tomcat組件在server.xml文件中對(duì)應(yīng)一種配置元素。下面用XML的形式展示各種Tomcat組件之間的關(guān)系。


  • 代表整個(gè)Servlet容器組件,是最頂層元素,可以包含一個(gè)或多個(gè)元素
  • 包含一個(gè)元素以及一個(gè)或多個(gè)元素,這些共享一個(gè)
  • 代表和客戶程序?qū)嶋H交互的組件,負(fù)責(zé)接收客戶請(qǐng)求,以及向客戶返回響應(yīng)
  • 每個(gè)元素只能包含一個(gè)元素,它處理在同一個(gè)中所有接收到的客戶請(qǐng)求
  • 在一個(gè)中可以包含多個(gè),它代表一個(gè)虛擬主機(jī)(即一個(gè)服務(wù)器程序可以部署在多個(gè)有不同IP的服務(wù)器主機(jī)上),它可以包含一個(gè)或多個(gè)應(yīng)用
  • 使用最頻繁的元素,代表了運(yùn)行在虛擬主機(jī)上的單個(gè)web應(yīng)用

5. Tomcat體系結(jié)構(gòu)


6. 虛擬目錄的映射方式

從Tomcat6開(kāi)始,Tomcat支持自動(dòng)映射,即tomcat服務(wù)器會(huì)自動(dòng)管理webapps目錄下的所有web應(yīng)用,并把它映射成虛擬目錄,換句話說(shuō),只需把web應(yīng)用放在webapps目錄下,不需要配置Context,外界可以直接訪問(wèn)

但是如果你不想項(xiàng)目放在webapps下,而是放在其他地方,還是需要配置Context,比如我的tomcat在C盤,我的項(xiàng)目在D盤,則需要在Host下增加如下虛擬目錄映射語(yǔ)句

 

7. Context元素配置

tomcat在加載一個(gè)web應(yīng)用時(shí),會(huì)一次按照以下五種方式查找web應(yīng)用中的元素,優(yōu)先級(jí)一次降低,直到找到為止

1):到Tomcat安裝目錄/conf/Context.xml文件中查找元素。

2):到Tomcat安裝目錄/conf/[enginename]/[hostname]/context.xml.default文件中查找元素。

[enginename]:表示的name屬性

[hostname]:表示屬性

3):到Tomcat安裝目錄/conf/[enginename]/[hostname]/[contextpath].xml文件中查找元素

[contextpath]:表示單個(gè)Web應(yīng)用的URL入口

4):到Web應(yīng)用的META-INF/context.xml文件中查找元素

5):到Tomcat安裝目錄/conf/server.xml文件中查找元素。只適用于單個(gè)Web應(yīng)用

8. 將項(xiàng)目部署為Tomcat默認(rèn)應(yīng)用

即訪問(wèn) http://localhost:8080 時(shí)出來(lái)的是tomcat自帶的歡迎頁(yè)面,改為登錄到自己的項(xiàng)目主頁(yè)

  • 方法一:在Tomcat默認(rèn)安裝后,tomcat的主目錄是webapps/root目錄,所以如果想改變tomcat的主目錄的話可以如下所做:/conf/server.xml文件的之間加入代碼
  • 方法二:將tomcat安裝目錄下的ROOT下的所有文件刪除,換成自己項(xiàng)目的文件,此法有點(diǎn)暴力
  • 方法三:Tomcat5.0以下版本在C:/Tomcat/conf/Catalina/localhost目錄下會(huì)自動(dòng)生成了一個(gè)ROOT.Xml,但是5.0以上版本不再生成此文件,所以可以新建個(gè)ROOT.xml,在里面加入如下代碼:

9. Context元素的屬性

path: 指定訪問(wèn)該Web應(yīng)用的URL入口

docBase: 指定Web應(yīng)用的文件路徑,可以寫絕對(duì)路徑,也可以寫相對(duì)于appBase屬性的相對(duì)路徑

className:指定實(shí)現(xiàn)Context組件的Java類的名字,這個(gè)類必須實(shí)現(xiàn) org.apache.catalina.Contex接口,該屬性默認(rèn)值為org.apache.catalina.core.StandardContext(不建議大家改動(dòng))

reloadable:如果為true,Tomcat服務(wù)器在運(yùn)行狀態(tài)下回監(jiān)視在WEB-INF/classes和WEB-INF/lib目錄下的class文件的改動(dòng),以及監(jiān)視Web應(yīng)用的WEB-INF/web.xml文件的改動(dòng),如果檢測(cè)到有更新,服務(wù)器會(huì)自動(dòng)更新加載web應(yīng)用。其默認(rèn)值為false。在開(kāi)發(fā)和調(diào)試階段,將其改為true,一般像Eclipse等開(kāi)發(fā)環(huán)境都會(huì)默認(rèn)改為true。在正式發(fā)布階段,應(yīng)將其該為false,可以降低Tomcat的運(yùn)行負(fù)荷,提高Tomcat的運(yùn)行性能

在一般情況下,元素都會(huì)使用默認(rèn)的標(biāo)準(zhǔn)Context組件,即className屬性采用默認(rèn)值org.apache.catalina.core.StandardContext,它除了擁有上面介紹到的屬性外,還有自身專有的屬性:

cachingAllowed:是否允許啟用靜態(tài)資源(HTML、圖片、聲音等)的緩存。默認(rèn)值為true。

cacheMaxSize:設(shè)置靜態(tài)資源緩存的大值,單位為K。

workDir:指定Web應(yīng)用的工作目錄。

uppackWAR:如果為true,會(huì)把war文件展開(kāi)為開(kāi)放目錄后再運(yùn)行。為false,直接運(yùn)行war文件。默認(rèn)值為true。

10. web.xml文件

該文件必須放在/WEB-INF目錄下,但是從7.0版本開(kāi)始,Tomcat可以不使用web.xml文件,而是使用注解方式。

三、Tomcat的優(yōu)化

1、內(nèi)存使用配置

Tomcat是依賴于JVM的,所以Tomcat的使用內(nèi)存配置實(shí)質(zhì)上是JVM的內(nèi)存配置

在/bin目錄下的catalina.bat可以直接通過(guò)Tomcat設(shè)置JVM內(nèi)存參數(shù),windows下

打開(kāi)catalina.bat文件,在大概中間的位置,找到

 set "JAVA_OPTS=%JAVA_OPT% -server -Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -Djava.awt.headless=true"

通過(guò)內(nèi)存設(shè)置充分利用服務(wù)器內(nèi)存

-server: 模式啟動(dòng)應(yīng)用慢,但是極大程度提高運(yùn)行性能

-Xms2048m -Xmx2048m: 設(shè)置的是堆內(nèi)存

java8開(kāi)始,PermSize被MetaspaceSize代替,MetaspaceSize共享heap,不會(huì)再有java.lang.OutOfMemoryError:PermGen space,可以不設(shè)置

Headless=true: 適用于Linux系統(tǒng),與圖形操作有關(guān),如生成驗(yàn)證碼含義是當(dāng)前的是無(wú)顯示器的服務(wù)器,應(yīng)用中如果獲取系統(tǒng)顯示有關(guān)的參數(shù)會(huì)拋出異常,windows系統(tǒng)可不用設(shè)置

可通過(guò)jmap -heap process_id查看設(shè)置是否成功

2、大連接數(shù)配置(并發(fā)能力)

在/conf/server.xml里進(jìn)行配置

在屬性中

將protocol屬性改為

 "org.apache.coyote.http11.Http11NioProtocol",NIO模型的效率更高

加入

maxThreads="500" //當(dāng)前可以同時(shí)處理的大用戶訪問(wèn)數(shù)

minSpareThreads="100" //最小空閑線程連接數(shù),用于優(yōu)化線程池

maxSpareThreads="200"

acceptCount="200" //當(dāng)所有的線程以分配,仍然允許連接進(jìn)來(lái),但是出于等待狀態(tài)的用戶數(shù)。等待線程數(shù)+工作線程數(shù)=總的可大連接數(shù),如果超過(guò)此數(shù),新的連接將不會(huì)被接受,就會(huì)產(chǎn)生一個(gè)http錯(cuò)誤

enableLookups="false"http://是否允許DNS反查,如果為true,request.getRemoteHost會(huì)執(zhí)行DNS查找,反向解析ip對(duì)應(yīng)域名主機(jī)名,當(dāng)沒(méi)有這樣需要的時(shí)候,可以將這個(gè)功能關(guān)閉,在一定程度上提高了Tomcat服務(wù)器的性能

四、負(fù)載均衡配置

負(fù)載均衡是提高應(yīng)用負(fù)載量和容錯(cuò)的有效手段,可以結(jié)合Nginxs與Tomcat實(shí)現(xiàn),Nginx是一款性能優(yōu)異的反向代理服務(wù)器

1、負(fù)載均衡配置實(shí)現(xiàn)

反向代理原理示意圖

負(fù)載均衡示意圖

負(fù)載均衡策略:

Nginx 提供輪詢(round robin)、用戶IP哈希(client IP)和指定權(quán)重 3 種方式

2、負(fù)載均衡時(shí)Session的處理策略

Session是Tomcat服務(wù)器上的內(nèi)存空間,如果一個(gè)用戶發(fā)出多個(gè)請(qǐng)求,卻發(fā)到了多個(gè)tomcat服務(wù)器中,那么就會(huì)出現(xiàn)Session不同步的問(wèn)題

  • 解決方案1:將一個(gè)用戶的請(qǐng)求鎖定到某一臺(tái)服務(wù)器上,簡(jiǎn)單,但是缺乏容錯(cuò)性,一旦某個(gè)服務(wù)器發(fā)生故障,Session可能丟失,(但是服務(wù)器發(fā)生故障是一個(gè)低概率事件,如果一個(gè)服務(wù)器經(jīng)常掛掉,要么是硬件有問(wèn)題,要么是應(yīng)用有問(wèn)題,可以使用用戶IP哈希實(shí)現(xiàn)。
  • 解決方案2:Session復(fù)制策略,基于網(wǎng)絡(luò)的廣播策略,一個(gè)節(jié)點(diǎn)Session變化,其他節(jié)點(diǎn)同步復(fù)制,具有容錯(cuò)性,但節(jié)點(diǎn)多或復(fù)制量大時(shí)對(duì)網(wǎng)絡(luò)負(fù)荷大,使網(wǎng)絡(luò)效率低下,甚至阻塞
  • 空間用來(lái)存放Session,所有服務(wù)器共享一個(gè)Session

memcached緩存共享方案基本原理

粘性Session與非粘性Session方式:



需要一些工具jar包,官網(wǎng)有目錄和下載連接

在/conf/context.xml中進(jìn)行配置,全局有效

3、集群環(huán)境中應(yīng)用代碼應(yīng)注意的問(wèn)題

  • 傳遞Session需要實(shí)體類序列化支持,實(shí)現(xiàn)可序列化接口,設(shè)置版本號(hào)
  • 獲取用戶IP地址方法的變化,獲取真實(shí)客戶端ip而不是Nginx代理地址
  • 動(dòng)靜分離結(jié)構(gòu)的預(yù)規(guī)劃,

一般高并發(fā)的網(wǎng)站上,資源類的文件,如js,css,圖片通常是由靜態(tài)服務(wù)器處理,Nginx處理靜態(tài)文件效率就非常高,而tomcat處理靜態(tài)文件是它很大的一個(gè)弱勢(shì),tomcat只負(fù)責(zé)動(dòng)態(tài)請(qǐng)求的處理。那么編碼的時(shí)候就要考慮靜態(tài)資源最后可能要被拿出去,地址會(huì)有變化,所以在開(kāi)發(fā)的時(shí)候應(yīng)該規(guī)劃訪問(wèn)地址,保持大靈活性。

分享名稱:Tomcat服務(wù)器常用配置詳解
文章URL:http://vcdvsql.cn/news10/103510.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器外貿(mào)網(wǎng)站建設(shè)關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站虛擬主機(jī)用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)