激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - WEB服務(wù)器 - 看看Tomcat安裝、配置、優(yōu)化及負載均衡

看看Tomcat安裝、配置、優(yōu)化及負載均衡

2021-06-01 01:33JAVA熊 WEB服務(wù)器

Tomcat得到了廣大開源代碼志愿者的大力支持,且可以和目前大部分的主流Web服務(wù)器(IIS、Apache服務(wù)器)一起工作,它運行穩(wěn)定、可靠且高效。已成為目前開發(fā)企業(yè)JavaWeb應(yīng)用的最佳Servlet容器選擇之一。

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

1、WebLogic:是BEA公司的產(chǎn)品、WebSphereAS:是IBM公司的產(chǎn)品、JBossAS:紅帽公司的產(chǎn)品,可以自行了解

2、Tomcat服務(wù)器:Sun公司在推出的小型Servlet/JSP調(diào)試工具的基礎(chǔ)上發(fā)展起來的一個優(yōu)秀的Servlet容器,Tomcat本身完全用java語言編寫,所以tomcat的運行需要java的支持,所以要先安裝JDK,才能運行。

看看Tomcat安裝、配置、優(yōu)化及負載均衡

目前是Apache開源軟件組織的一個軟件項目,它的官網(wǎng) :

http://tomcat.apache.org

Tomcat得到了廣大開源代碼志愿者的大力支持,且可以和目前大部分的主流Web服務(wù)器(IIS、Apache服務(wù)器)一起工作,它運行穩(wěn)定、可靠且高效。已成為目前開發(fā)企業(yè)JavaWeb應(yīng)用的最佳Servlet容器選擇之一。

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

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

  • bin:存放啟動和關(guān)閉Tomcat的腳本文件
  • conf:存放Tomcat服務(wù)器的各種配置文件
  • lib:存放tomcat服務(wù)器支撐的jar包
  • logs:存放Tomcat的日志文件
  • temp:存放Tomcat運行時產(chǎn)生的臨時文件
  • webapps:web應(yīng)用雖在目錄,即供外界訪問的web資源的存放目錄
  • work:Tomcat的工作目錄

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

  1. mail---------------------------Web應(yīng)用所在目錄 |----html、jsp、css、js等文件,根目錄下的文件外界可以直接訪問 |----WEB-INF目錄 |---------classes目錄(java類) |---------lib目錄(java類運行所需的jar包) |---------web.xml(web應(yīng)用的配置文件) WEB-INF 這個目錄下的文件外界無法直接訪問,由web服務(wù)器負責(zé)調(diào)用 

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

開放式目錄方式:

打包war方式: 使用 Jar -cvf *.war .

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

Tomcat本身由一系列可配置的組件構(gòu)成,其中核心組件是Servlet容器組件,它是所有其他Tomcat組件的頂層容器。

每個組件都可以在Tomcat安裝目錄/conf/server.xml文件中進行配置,每個Tomcat組件在server.xml文件中對應(yīng)一種配置元素。下面用XML的形式展示各種Tomcat組件之間的關(guān)系

  1. <Server>代表整個Servlet容器組件,是最頂層元素,可以包含一個或多個<Service>元素 
  2.  <Service>包含一個<Engine>元素以及一個或多個<Connector>元素,這些<Connector>共享一個<Engine> 
  3.  <Connector/>代表和客戶程序?qū)嶋H交互的組件,負責(zé)接收客戶請求,以及向客戶返回響應(yīng) 
  4.  <Engine>每個<Service>元素只能包含一個<Engine>元素,它處理在同一個<Service>中所有<Connector>接收到的客戶請求 
  5.  <Host>在一個<Engine>中可以包含多個<Host>,它代表一個虛擬主機(即一個服務(wù)器程序可以部署在多個有不同IP的服務(wù)器主機上),它可以包含一個或多個應(yīng)用 
  6.  <Context>使用最頻繁的元素,代表了運行在虛擬主機上的單個web應(yīng)用 
  7.  </Host> 
  8.  </Engine> 
  9.  </Service> 
  10. </Server> 

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

看看Tomcat安裝、配置、優(yōu)化及負載均衡

6、虛擬目錄的映射方式

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

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

7、Context元素配置

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

  • 到Tomcat安裝目錄/conf/Context.xml文件中查找元素。
  • 到Tomcat安裝錄/conf/[enginename]/[hostname]/context.xml.default文件中查找元素。
  • [enginename]:表示的name屬性
  • [hostname]:表示d的那么屬性
  • 到Tomcat安裝目錄/conf/[enginename]/[hostname]/[contextpath].xml文件中查找元素
  • [contextpath]:表示單個Web應(yīng)用的URL入口
  • 到Web應(yīng)用的META-INF/context.xml文件中查找元素
  • 到Tomcat安裝目錄/conf/server.xml文件中查找元素。只適用于單個Web應(yīng)用

8、將項目部署為Tomcat默認應(yīng)用

即訪問 http://localhost:8080 時出來的是tomcat自帶的歡迎頁面,改為登錄到自己的項目主頁。

方法一:

在Tomcat默認安裝后,tomcat的主目錄是webapps/root目錄,所以如果想改變tomcat的主目錄的話可以如下所做:

在/conf/server.xml文件的之間加入代碼

  1. <Contextpath=""docBase="C:\tomcat7\webapps\myapp"reloadable="true"debug="0"></Context> 
  2. <!-- 
  3. docBase改為自己需要的項目路徑 
  4. 如果建立了Apache和tomcat集群,Apache server 的默認端口是80 ,IE訪問的方法只需輸入:http://localhost,就可以自動定位到xx工程下面去 
  5. --> 

方法二:

將tomcat安裝目錄下的ROOT下的所有文件刪除,換成自己項目的文件,此法有點暴力。

方法三:

Tomcat5.0以下版本在C:/Tomcat/conf/Catalina/localhost目錄下會自動生成了一個ROOT.Xml,但是5.0以上版本不再生成此文件。

所以可以新建個ROOT.xml,在里面加入如下代碼:

  1. <?Xml version='1.0' encoding='utf-8'?> 
  2. <ContextcrossContext="true"docBase="C:\tomcat7\webapps\myapp"path=""reloadable="true"
  3. </Context> 
  4. <!--但是我自己在7.0版本上測試好像未成功,大家可以自己試試--> 

 

9、Context元素的屬性

 

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

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

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

reloadable:如果為true,Tomcat服務(wù)器在運行狀態(tài)下回監(jiān)視在WEB-INF/classes和WEB-INF/lib目錄下的class文件的改動,以及監(jiān)視Web應(yīng)用的WEB-INF/web.xml文件的改動,如果檢測到有更新,服務(wù)器會自動更新加載web應(yīng)用。

其默認值為false。在開發(fā)和調(diào)試階段,將其改為true,一般像Eclipse等開發(fā)環(huán)境都會默認改為true。在正式發(fā)布階段,應(yīng)將其該為false,可以降低Tomcat的運行負荷,提高Tomcat的運行性能

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

  • cachingAllowed:是否允許啟用靜態(tài)資源(HTML、圖片、聲音等)的緩存。默認值為true。
  • cacheMaxSize:設(shè)置靜態(tài)資源緩存的最大值,單位為K。
  • workDir:指定Web應(yīng)用的工作目錄。
  • uppackWAR:如果為true,會把war文件展開為開放目錄后再運行。為false,直接運行war文件。默認值為true。

10、web.xml文件

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

三、Tomcat的優(yōu)化

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

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

在/bin目錄下的catalina.bat可以直接通過Tomcat設(shè)置JVM內(nèi)存參數(shù),windows下打開catalina.bat文件,在大概中間的位置,找到

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

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

  • -server:模式啟動應(yīng)用慢,但是極大程度提高運行性能
  • -Xms2048m -Xmx2048m:設(shè)置的是堆內(nèi)存

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

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

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

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

在/conf/server.xml里進行配置

在屬性中將protocol屬性改為

  1. "org.apache.coyote.http11.Http11NioProtocol", 

NIO模型的效率更高

加入

  1. maxThreads="500"  
  2. //當(dāng)前可以同時處理的最大用戶訪問數(shù) 
  3. minSpareThreads="100"  
  4. //最小空閑線程連接數(shù),用于優(yōu)化線程池 
  5. maxSpareThreads="200" 
  6. acceptCount="200"  
  7. //當(dāng)所有的線程以分配,仍然允許連接進來,但是出于等待狀態(tài)的用戶數(shù)。 
  8. //等待線程數(shù)+工作線程數(shù)=總的可最大連接數(shù),如果超過此數(shù), 
  9. //新的連接將不會被接受,就會產(chǎn)生一個http錯誤 
  10. enableLookups="false" 
  11. //是否允許DNS反查,如果為true,request.getRemoteHost會執(zhí)行DNS查找,反向解析ip對應(yīng)域名或主機名, 
  12. //當(dāng)沒有這樣需要的時候,可以將這個功能關(guān)閉,在一定程度上提高了Tomcat服務(wù)器的性能 

四、負載均衡配置

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

1、負載均衡配置實現(xiàn)

反向代理原理示意圖:

看看Tomcat安裝、配置、優(yōu)化及負載均衡

負載均衡示意圖:

看看Tomcat安裝、配置、優(yōu)化及負載均衡

負載均衡策略:

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

2、負載均衡時Session的處理策略

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

解決方案1

將一個用戶的請求鎖定到某一臺服務(wù)器上,簡單,但是缺乏容錯性,一旦某個服務(wù)器發(fā)生故障,Session可能丟失,(但是服務(wù)器發(fā)生故障是一個低概率事件,如果一個服務(wù)器經(jīng)常掛掉,要么是硬件有問題,要么是應(yīng)用有問題)

可以使用用戶IP哈希實現(xiàn)

解決方案2

Session復(fù)制策略,基于網(wǎng)絡(luò)的廣播策略,一個節(jié)點Session變化,其他節(jié)點同步復(fù)制,具有容錯性,但節(jié)點多或復(fù)制量大時對網(wǎng)絡(luò)負荷大,使網(wǎng)絡(luò)效率低下,甚至阻塞

① 在/conf/server.xml文件中開啟Session復(fù)制的選項,將注釋去掉,7.0默認值以配置好,需要接收器綁定內(nèi)網(wǎng)(一般服務(wù)器都有兩塊網(wǎng)卡)網(wǎng)卡地址,修改端口>。

② 在應(yīng)用中指定應(yīng)用是在分布式部署之下,在web.xml中添加選項

解決方案3

額外創(chuàng)建一個共享的空間用來存放Session,所有服務(wù)器共享一個Session

memcached緩存共享方案基本原理

粘性Session與非粘性Session方式:

看看Tomcat安裝、配置、優(yōu)化及負載均衡

需要一些工具jar包,官網(wǎng)有目錄和下載連接,在/conf/context.xml中進行配置,全局有效。

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

傳遞Session需要實體類序列化支持,實現(xiàn)可序列化接口,設(shè)置版本號。

獲取用戶IP地址方法的變化,獲取真實客戶端ip而不是Nginx代理地址。

動靜分離結(jié)構(gòu)的預(yù)規(guī)劃。一般高并發(fā)的網(wǎng)站上,資源類的文件,如js,css,圖片通常是由靜態(tài)服務(wù)器處理,Nginx處理靜態(tài)文件效率就非常高,而tomcat處理靜態(tài)文件是它很大的一個弱勢,tomcat只負責(zé)動態(tài)請求的處理。

那么編碼的時候就要考慮靜態(tài)資源最后可能要被拿出去,地址會有變化,所以在開發(fā)的時候應(yīng)該規(guī)劃訪問地址,保持最大靈活性。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 一二区电影| 欧美一级黄色片免费观看 | 九九综合视频 | 国产一及毛片 | 亚洲自拍第二页 | 国产va在线观看 | 欧美成人精品一区 | 黑人一级片视频 | 伊人一二三四区 | 99欧美视频| 羞羞视频免费入口网站 | av在线播放电影 | 久久综合综合久久 | 黄色特级视频 | 黄色一级视频 | 国产乱淫a∨片免费视频 | hd极品free性xxx一护士 | 快播av在线 | 久久久久久久久免费 | 一级毛片免费大片 | 国内精品久久久久久久久久久久 | 国产精品久久久久国产精品三级 | 国产一区二区精彩视频 | 久久91久久久久麻豆精品 | 久久久久久久久久久久久久av | 亚洲一区在线免费视频 | 欧美一区二区三区不卡免费观看 | 国产精品一区网站 | 香蕉视频网站在线观看 | 91看片.| 精品一区二区三区免费 | 99爱国产精品 | 免费国产在线视频 | 国产精品视频一区二区三区四区五区 | 日韩在线视频免费观看 | 午夜小影院 | 免费网站看v片在线a | 依人九九 | 国产午夜亚洲精品午夜鲁丝片 | 狠狠一区二区 | 天天干干 |