Tomcat安裝、配置、優化及負載均衡詳解
https://www.cnblogs.com/rocomp/p/4802396.html
一、常見JavaWeb服務器
1、WebLogic:是BEA公司的產品、WebSphereAS:是IBM公司的產品、JBossAS:紅帽公司的產品,可以自行了解
2、Tomcat服務器:
Sun公司在推出的小型Servlet/JSP調試工具的基礎上發展起來的一個優秀的Servlet容器,Tomcat本身完全用java語言編寫,所以tomcat的運行需要java的支持,所以要先安裝JDK,才能運行。目前是Apache開源軟件組織的一個軟件項目,它的官網 http://tomcat.apache.org。得到了廣大開源代碼志願者的大力支持,且可以和目前大部分的主流Web服務器(IIS、Apache服務器)一起工作,它運行穩定、可靠且高效。已成爲目前開發企業JavaWeb應用的最佳Servlet容器選擇之一。目前最新版本8.0
二、Tomcat的目錄結構及常用配置
1、Tomcat的目錄層次結構
bin: 存放啓動和關閉Tomcat的腳本文件
conf: 存放Tomcat服務器的各種配置文件
lib: 存放tomcat服務器支撐的jar包
logs: 存放Tomcat的日誌文件
temp: 存放Tomcat運行時產生的臨時文件
webapps:web應用雖在目錄,即供外界訪問的web資源的存放目錄
work: Tomcat的工作目錄
2、JavaWeb應用的組成結構
mail---------------------------Web應用所在目錄
|----html、jsp、css、js等文件,根目錄下的文件外界可以直接訪問
|----WEB-INF目錄
|---------classes目錄(java類)
|---------lib目錄(java類運行所需的jar包)
|---------web.xml(web應用的配置文件)
WEB-INF 這個目錄下的文件外界無法直接訪問,由web服務器負責調用
3、JavaWeb應用的發佈
開放式目錄方式:
打包war方式: 使用 Jar -cvf *.war .
4、Tomcat的組成結構
Tomcat本身由一系列可配置的組件構成,其中核心組件是Servlet容器組件,它是所有其他Tomcat組件的頂層容器。每個組件都可以在Tomcat安裝目錄/conf/server.xml文件中進行配置,每個Tomcat組件在server.xml文件中對應一種配置元素。下面用XML的形式展示各種Tomcat組件之間的關係
複製代碼
<Server>代表整個Servlet容器組件,是最頂層元素,可以包含一個或多個<Service>元素
<Service>包含一個<Engine>元素以及一個或多個<Connector>元素,這些<Connector>共享一個<Engine>
<Connector/>代表和客戶程序實際交互的組件,負責接收客戶請求,以及向客戶返回響應
<Engine>每個<Service>元素只能包含一個<Engine>元素,它處理在同一個<Service>中所有<Connector>接收到的客戶請求
<Host>在一個<Engine>中可以包含多個<Host>,它代表一個虛擬主機(即一個服務器程序可以部署在多個有不同IP的服務器主機上),它可以包含一個或多個應用
<Context>使用最頻繁的元素,代表了運行在虛擬主機上的單個web應用
</Host>
</Engine>
</Service>
</Server>
複製代碼
5、Tomcat體系結構
6、虛擬目錄的映射方式
從Tomcat6開始,Tomcat支持自動映射,即tomcat服務器會自動管理webapps目錄下的所有web應用,並把它映射成虛擬目錄,換句話說,只需把web應用放在webapps目錄下,不需要配置Context,外界可以直接訪問
但是如果你不想講項目放在webapps下,而是放在其他地方,還是需要配置Context,比如我的tomcat在C盤,我的項目在D盤,則需要在Host下增加如下虛擬目錄映射語句
<Contextpath="/myapp"docBase="D:/work/myapp"></Context>
7、Context元素配置
tomcat在加載一個web應用時,會一次按照以下五種方式查找web應用中的<Context>元素,優先級一次降低,直到找到爲止
1):到Tomcat安裝目錄/conf/Context.xml文件中查找<Context>元素。
2):到Tomcat安裝目錄/conf/[enginename]/[hostname]/context.xml.default文件中查找<Context>元素。
[enginename]:表示<Engine>的name屬性
[hostname]:表示<Host>d的那麼屬性
3):到Tomcat安裝目錄/conf/[enginename]/[hostname]/[contextpath].xml文件中查找<Context>元素
[contextpath]:表示單個Web應用的URL入口
4):到Web應用的META-INF/context.xml文件中查找<Context>元素
5):到Tomcat安裝目錄/conf/server.xml文件中查找<Context>元素。只適用於單個Web應用
8、將項目部署爲Tomcat默認應用
即訪問 http://localhost:8080 時出來的是tomcat自帶的歡迎頁面,改爲登錄到自己的項目主頁
方法一:
在Tomcat默認安裝後,tomcat的主目錄是webapps/root目錄,所以如果想改變tomcat的主目錄的話可以如下所做:
在/conf/server.xml文件的<Host></Host>之間加入代碼
<Contextpath=""docBase="C:\tomcat7\webapps\myapp"reloadable="true"debug="0"></Context>
方法二: 將tomcat安裝目錄下的ROOT下的所有文件刪除,換成自己項目的文件,此法有點暴力 方法三: Tomcat5.0以下版本在C:/Tomcat/conf/Catalina/localhost目錄下會自動生成了一個ROOT.Xml,但是5.0以上版本不再生成此文件,所以可以新建個ROOT.xml,在裏面加入如下代碼: