tomcat基礎介紹和配置詳解


tomcat企業級Web應用服務器配置與實戰

  環境背景:公司業務經過長期發展,有了很大突破,已經實現盈利,現公司要求加強技術架構應用功能和安全性以及開始向企業應用、移動APP等領域延伸,此時原來開發web服務的php語言已經不適應新的場景,需要上java技術架構,現要求你根據公司需要,實現基於java平台的web應用服務選型、搭建、實現和應用,此時你如何選擇?

實戰一:在linux上安裝tomcat

1、下載安裝java所需要的環境和開發工具包

(1)Java 所需要的環境和開發工具包介紹

JRE: Java Runtime Environment

JDK:Java Development Kit JRE

JRE顧名思義是java運行時環境,包含了java虛擬機,java基礎類庫。是使用java語言編寫的程序運行所需要的軟件環境,是提供給想運行java程序的用戶使用的。

JDK顧名思義是java開發工具包,是程序員使用java語言編寫java程序所需的開發工具包,是提供給程序員使用的。JDK包含了JRE,同時還包含了編譯java源碼的編譯器javac,還包含了很多java程序調試和分析的工具:jconsole,jvisualvm等工具軟件,還包含了java程序編寫所需的文檔和demo例子程序。如果你需要運行java程序,只需安裝JRE就可以了。如果你需要編寫java程序,需要安裝JDK。JRE根據不同操作系統(如:windows,linux等)和不同JRE提供商(IBM,ORACLE等)有很多版本,最常用的是Oracle公司收購SUN公司的JRE版本。

(2)安裝相應版本的rpm包 jdk-VERSION-OS-ARCH.rpm(centos自帶的jdk包)

[root@centos-7 ~]# yum install java-1.8.0-openjdk  -y

(3)使用Oracle官網的JDK 8的rpm安裝 

官方下載JDK地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

[root@centos-7 ~]#  yun install jdk-8u211-linux-x64.rpm -y

java配置全局

[root@centos-7 ~]# vim /etc/profile.d/jdk.sh 
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH

[root@centos-7 ~]# . /etc/profile.d/jdk.sh

查看jdk版本

[root@centos-7 ~]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

2、下載安裝tomcat

方法一:二進制安裝(推薦)

(1)從官網下載tomcat二進制安裝包 http://tomcat.apache.org/

下載路徑:https://archive.apache.org/dist/tomcat/

(2)解包,設置目錄

① 解包

[root@centos-7 ~]# tar xvf  apache-tomcat-8.5.42.tar.gz  -C /usr/local

② 為了方便管理,設置軟連接,若以后換版本了,可以很容易切換

[root@centos-7 local]# ln -s /usr/local/apache-tomcat-8.5.42/  /usr/local/tomcat 

 

 (3)啟動tomcat服務

[root@centos-7 bin]# cd  /usr/local/tomcat/bin #切換到bin目錄下
[root@centos-7 bin]# ./startup.sh   #啟動tomcat服務
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/default
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@centos-7 bin]# ss -nlt  #查看此時的8080端口是否打開
State       Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
LISTEN      0      100                                  127.0.0.1:25                                                       *:*                  
LISTEN      0      32                              192.168.43.100:1194                                                     *:*                  
LISTEN      0      128                                          *:22                                                       *:*                  
LISTEN      0      100                                      [::1]:25                                                    [::]:*                  
LISTEN      0      1                           [::ffff:127.0.0.1]:8005                                                  [::]:*                  
LISTEN      0      100                                       [::]:8009                                                  [::]:*                  
LISTEN      0      100                                       [::]:8080                                                  [::]:*                  
LISTEN      0      128                                       [::]:22                                                    [::]:*                  

另外一種啟動tomcat服務的方法:

#cd  /usr/local/tomcat/bin   #切換到此目錄下啟動tomcata服務
# ./catalina.sh --help
[root@centos-7 bin]# ./catalina.sh version   #查看此時的版本
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/default
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/8.5.42
Server built: Jun 4 2019 20:29:04 UTC
Server number: 8.5.42.0
OS Name: Linux
OS Version: 3.10.0-1062.el7.x86_64
Architecture: amd64
JVM Version: 1.8.0_211-b12
JVM Vendor: Oracle Corporation

# ./catalina.sh start  #啟動tomcata服務
# ./catalina.sh stop   #停止tomcata服務

(4)為了tomcat服務安全起見,最好不要用root用戶登錄,防止被破解之后存在安全隱患,建議自己新建一個普通用戶進行登錄

[root@centos-7 bin]# useradd -r java   #創建一個系統賬號,此時就沒有家目錄
[root@centos-7 ~]# chown -R java.java /usr/local/tomcat/  #將tomcat目錄下的文件所有者和所屬組都進行修改
[root@centos-7 ~]# su - java -c /usr/local/tomcat/bin/startup.sh  #以java用戶形式進行啟動tomcat服務

 (5)查看此時啟動的服務是以java用戶進行啟動的

 

方法二:yum安裝tomcat包

(1)yum安裝tomcat包(版本較低)

# yum install tomcat -y #安裝tomcat主程序
# yum install -y tomcat-admin-webapps  tomcat-webapps  #安裝tomcat對應的頁面

(2)啟動tomcat服務

[root@centos-7 ~]# systemctl start tomcat

(3)查看端口,默認是8080端口

 

查看此時訪問的tomcat頁面:

 

 在默認主目錄下添加一個文件此,優先級順序是index.html、index.htm、index.jsp,由大到小排序:

[root@centos-7 ROOT]#cd  /usr/share/tomcat/webapps/ROOT #主站點程序都放在此目錄下
[root@centos-7 ROOT]# cat index.html
<h>hello!</>

  啟動tomcat服務:systemctl start tomcat 

查看訪問頁面

 

想要看到index.jsp頁面,將URL路徑補全即可,此時點開jsp結尾的網頁,會顯示比較慢,那么訪問網頁慢的原因是什么呢?

答:是因為此時的jsp頁面需要轉換為二進制的字節碼,再將二進制的字節碼轉換為.class后綴的文件,,最后才會顯示網頁,當第二次點擊時,就不再需要jsp文件;

需要解決第一次點擊慢的過程,需要一個執行第一次點擊網頁的自動化運行腳本,會為自己將所有的鏈接都去點擊一遍。

 

 3、目錄結構

 編譯的二進制tomcat文件,默認訪問網頁的路徑:/usr/local/tomcat/webapps/ROOT/

 

 4、配置文件

 

 5、組件分類

頂級組件

Server,代表整個Tomcat容器

服務類組件

Service,組織Engine和Connector,里面只能包含一個Engine

連接器組件

Connector,有HTTP、HTTPS、A JP協議的連接器

容器類

Engine、Host、Context都是容器類組件,可以嵌入其它組件,內部配置如何運行應用程序。

內嵌類

可以內嵌到其他組件內,valve、logger、realm、loader、manager等。以logger舉例,在不同容器組件內定義。

集群類組件

listener、cluster

Tomcat內部組成 

由上述組件就構成了Tomcat,如下圖

名稱 說明
Server tomcat的進程示例
Connector 負責客戶端的HTTP/HTTPS/AJP等協議的連接,一個Connter只屬於一個Engine
Service 用來組織Connter和Engine之間的關系
Engine 響應並處理用戶請求。一個引擎可以綁定多個Connter。
Host 虛擬主機
Context 應用的上下文,配置路徑映射path=>directory

 

 

AJP(Apache Jserv protocol)是一種基於TCP的二進制通訊協議。

核心組件  

(1)Tomcat啟動一個Server進程。可以啟動多個Server,但一般只啟動一個。

(2)創建一個Service提供服務。可以創建多個Service,但一般也只創建一個。

  • 每個Service中,是Engine和其連接器Connector的關聯配置

(3)可以為這個Server提供多個連接器Connector,這些Connector使用了不同的協議,綁定了不同的端口。其作用就是處理來自客戶端的不同的連接請求或響應。

(4)Service內部還定義了Engine,引擎才是真正的處理請求的入口,其內部定義多個虛擬主機Host。

  • Engine對請求頭做了分析,將請求發送給相應的虛擬主機
  • 如果沒有匹配,數據就發往Engine上的defaultHost缺省虛擬主機
  • Engine上的缺省虛擬主機可以修改

(5)Host定義虛擬主機,虛擬主機有name名稱,通過名稱匹配

(6)Context定義應用程序單獨的路徑映射和配置

舉例:

假設來自客戶的請求為:http://localhost:8080/test/index.jsp

(1)瀏覽器端的請求被發送到服務端端口8080,Tomcat進程監聽在此端口上。通過偵聽的HTTP/1.1 Connector獲得此請求。

(2)Connector把該請求交給它所在的Service的Engine來處理,並等待Engine的響應

(3)Engine獲得請求localhost:8080/test/index.jsp,匹配它所有虛擬主機Host。

(4)Engine匹配到名為localhost的Host。即使匹配不到也把請求交給該Host處理,因為該Host被定義為該Engine的默認主機

(5)localhost Host獲得請求/test/index.jsp,匹配它所擁有的所有Context

(6)Host匹配到路徑為/test的Context,Context里邊可以定義不同的應用程序,交給這些應用程序去處理,最后拿到響應,響應報文直接通過connect返回給客戶端。

(7)path=/test的Context獲得請求/index.jsp,在它的mapping table中尋找對應的servlet(到此可以結束,后面都是開發的過程)

(8)Context匹配到URL PATTERN為*.jsp 的servlet,對應於JspServlet類構造HttpServletRequest對象和HttpServletResponse對象,作為參數調用JspServlet的doGet或doPost方法。

(9)Context把執行完了之后的HttpServletResponse對象返回給Host

(10)Host把HttpServletResponse對象返回給Engine

(11)Engine把HttpServletResponse對象返回給Connector

(12)Connector把HttpServletResponse對象返回給瀏覽器端

應用部署  

根目錄

Tomcat中默認網站根目錄是CATALINA_BASE/webapps/(/usr/local/tomcat/webapps  軟連接的主站點根目錄)

在Tomcat中部署主站應用程序和其他應用程序,和之前WEB服務程序不同。

nginx

  1. 假設在nginx中部署2個網站應用eshop、bbs,假設網站根目錄是/var/www/html,那么部署可以是這樣的。
  2. eshop解壓縮所有文件放到/var/www/html/目錄下。
  3. bbs的文件放在/var/www/html/bbs下。

Tomcat

  1. Tomcat中默認網站根目錄是CATALINA_BASE/webapps/
  2. 在Tomcat的webapps目錄中,有個非常特殊的目錄ROOT,它就是網站默認根目錄。
  3. 將eshop解壓后的文件放到這個ROOT中。
  4. bbs解壓后文件都放在CATALINA_BASE/webapps/bbs目錄下。
  5. 每一個虛擬主機的目錄都可以使用appBase配置自己的站點目錄,里面都可以使用ROOT目錄作為主站目錄。

JSP WebApp目錄結構  

  1. 主頁配置:一般指定為index.jsp或index.html
  2. WEB-INF/:當前WebApp的私有資源路徑,通常存儲當前應用使用的web.xml和context.xml配置文件
  3. META-INF/:類似於WEB-INF
  4. classes/:類文件,當前webapp需要的類
  5. lib/:當前應用依賴的jar包

實驗

默認情況下,/usr/local/tomcat/webapps/ROOT/下添加一個index.html文件,觀察訪問到了什么?

將/usr/local/tomcat/conf/web.xml中的下面<welcome-file-list>標簽內容(默認頁),復制到/usr/local/tomcat/webapps/ROOT/WEB-INF/web.xml中,如下

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1"
  metadata-complete="true">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>  #將jsp后綴的文件放在最上面
        <welcome-file>index.htm</welcome-file> 
        <welcome-file>index.html</welcome-file> #將html后綴文件放在最后面
    </welcome-file-list>
</web-app>

修改完以上配置文件,需要重啟tomcata服務,默認訪問網站的優先級是:html、htm、jsp后綴的文件,所以將jsp文件放在最前面,此時就是個缺省路徑,默認訪問jsp網頁,不需要指定jsp的URL全路徑,查看訪問網頁效果

 

 webapp歸檔格式

  1. .war:WebApp打包
  2. .jar:EJB類打包文件
  3. .rar:資源適配器類打包文件
  4. .ear:企業級WebApp打包 

傳統,應用開發測試后,通常打包為war格式,這種文件部署到了Tomcat的webapps下,還可以自動展開。

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">

部署Deploy  

1、部署:將webapp的源文件放置到目標目錄,通過web.xml和context.xml文件中配置的路徑就可以訪問該webapps,通過類加載器加載其特有的類和依賴的類到JVM上,生產中我們用的是冷部署方式。

(1)自動部署Auto Deploy:Tomcat發現多了這個應用就把它加載並啟動起來

(2)手動部署

冷部署:將webapp放到指定目錄,才去啟動Tomcat
熱部署:Tomcat服務不停止,需要依賴工具manager、ant腳本、tcd(tomcat client deployer)等

2、反部署undeploy:停止webapp的運行,並從JVM上清除已經加載的類,從Tomcat實例上卸載掉webapp

3、啟動start:是webapp能夠訪問

4、停止stop:webapp不能訪問,不能提供服務,但是JVM並不清除它

實驗

1、先創建一個存放頁面的目錄

[root@centos-7 ~]# mkdir /projects/myapp/{WEB-INF,classes,lib}  -pv
mkdir: created directory ‘/projects’
mkdir: created directory ‘/projects/myapp’
mkdir: created directory ‘/projects/myapp/WEB-INF’
mkdir: created directory ‘/projects/myapp/classes’
mkdir: created directory ‘/projects/myapp/lib’

2、在新建的/projects/myapp/目錄下新建一個index.jsp文件。

vim  /projects/myapp/index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
        <meta charset="utf-8">
        <title>jsp例子</title>
</head>
<body>
myapp-index.jsp 后面的內容是服務器端動態生成字符串,最后拼接在一起   #顯示的效果是這行內容
<%
out.println("hello jsp");
%>
</body>
</html>

3、將新建的index.jsp文件存放在/usr/local/tomcat/webapps目錄下:

[root@centos-7 ~]# cp -r /projects/myapp/  /usr/local/tomcat/webapps/

4、查看網頁顯示效果:

 

 配置詳解

vim  /usr/local/tomcat/conf/service.xml

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
   <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /      <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 "%r" %s %b" />

      </Host>
    </Engine>
  </Service>
</Server>>

SHUTDOWN詳解:

<Server port="8005" shutdown="SHUTDOWN">

8005是Tomcat的管理端口,默認監聽在127.0.0.1上。SHUTDOWN這個字符串接收到后就會關閉此Server。 

# telnet 127.0.0.1 8005
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SHUTDOWN

為安全起見:這個管理功能建議禁用,改shutdown為一串猜不出的字符串。

<Server port="8005" shutdown="44ba3c71d57f494992641b258b965f28">

創建一個用戶管理界面賬號

創建manager-gui角色

用戶認證,配置文件是/usr/local/tomcat/conf/tomcat-users.xml。  

打開tomcat-users.xml,我們需要一個角色manager-gui

<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
<role rolename="manager-gui"/>   #主要加入此行,添加的用戶名為tomcat
<user username="tomcat" password="tomcat" roles="manager-gui"/> #主要加入此行,添加的用戶密碼是tomcat

</tomcat-users>

 

 Tomcat啟動加載后,這些內容是常駐內存的。如果配置了新的用戶,需要重啟Tomcat。

訪問192.168.7.100:8080/manager/管理頁面時,此時就會報403,身份驗證錯誤,但是提示中告訴去manager的context.xml中修改

 修改配置文件路徑:/usr/local/tomcat/webapps/manager/META-INF/context.xml:

可以在后面追加一個全路徑的IP地址,或者是直接192.*即可:

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.\d+\.\d+"

 

 重新啟動tomcat服務:

# /usr/local/tomcat/bin/shutdown.sh
# /usr/local/tomcat/bin/start.sh

  再訪問網頁時,就會顯示用戶登錄:

 

 輸入新建的賬號和密碼,此時就能訪問管理界面:

用戶賬號:tomcat

用戶密碼:tomcat

 

 創建admin-gui角色

 1、如法炮制,與上面類似,但是我們需要進入到host-manager文件中進行修改里邊的conttext.xml文件,在配置文件中添加本地的IP地址的正則表達式,允許本地的IP地址進行管理

# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml

# allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.*" />

修改配置文件,添加admin-gui新角色:

[root@centos-7 conf]# vim /usr/local/tomcat/conf/tomcat-users.xml
<role rolename="admin-gui"/> #添加一個角色admin-gui
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/> #逗號后面添加admin-gui

 

重啟tomcat服務:

[root@centos-7 tomcat]# bin/shutdown.sh 
[root@centos-7 tomcat]# bin/startup.sh 

 查看此時的端口是否打開:8009和8080端口

此時已經可以登錄到host-manager管理界面:

 

service配置: 

vim  /usr/local/tomcat/conf/server.xml文件中查看此時的service服務名稱:

一般情況下,一個Server實例配置一個Service,name屬性相當於該Service的ID。

<Service name="Catalina">

連接器配置:

redirectPort,如果訪問HTTPS協議,自動轉向這個連接器。但大多數時候,Tomcat並不會開啟HTTPS,因為Tomcat往往部署在內部,HTTPS性能較差。

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

引擎配置:

<Engine name="Catalina" defaultHost="localhost">  

defaultHost指向內部定義某虛擬主機。缺省虛擬主機可以改動,默認localhost。  

虛擬主機配置:

name必須是主機名,用主機名來匹配。
appBase,當期主機的網頁根目錄,相對於CATALINA_HOME,也可以使用絕對路徑
unpackWARs是否自動解壓war格式
autoDeploy 熱部署,自動加載並運行應用

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">

虛擬主機配置實驗  

1、修改主配置文件,添加域名解析的目錄

[root@centos-7 ROOT]# vim /usr/local/tomcat/conf/server.xml 
      </Host>
     <Host name="node1.baidu.com" appBase="/data/webapps/" unpackWARs="True" autoDeploy="false" />   #指定域名和要訪問的文件路徑
    </Engine>

 

2、創建一個訪問文件的目錄,並在指定的目錄下創建ROOT目錄,將上面創建的myapp目錄文件復制過來:

[root@centos-7 ROOT]# mkdir /data/webapps/ -p
[root@centos-7 webapps]# cp -r /usr/local/tomcat/webapps/myapp/ /data/webapps/ROOT

3、修改/data/webapps/ROOT目錄下的文件,修改為自己要訪問到的頁面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
        <meta charset="utf-8">
        <title>jsp例子</title>
</head>
<body>
node1.baidu.com-index.jsp 后面的內容是服務器端動態生成字符串,最后拼接在一起  #修改此處的域名地址
<%
out.println("hello jsp");
%>
</body>
</html>

4、重啟tomcat服務:

[root@centos-7 tomcat]# bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/default
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@centos-7 tomcat]# bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/default
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

5、在本地hosts配置文件中將IP地址進行域名解析為node1.baidu.net:C:\Windows\System32\drivers\etc目錄下修改

  

6、訪問網頁進行測試:

 Context配置

Context作用:

  • 路徑映射
  • 應用獨立配置,例如單獨配置應用日志、單獨配置應用訪問控制
<Context path="/test" docBase="/data/test" reloadable="" />

1、path指的是訪問的路徑

2、docBase,可以是絕對路徑,也可以是相對路徑(相對於Host的appBase)

3、reloadable,true表示如果WEB-INF/classes或META-INF/lib目錄下.class文件有改動,就會將WEB應用重新加載。

4、生成環境中,會使用false來禁用。

實驗:

1、將前面創建好的myapp目錄復制到data目錄下並起名為myappv1,並且創建一個軟連接

[root@centos-7 data]# cp -r /usr/local/tomcat/webapps/myapp  /data/myappv1
[root@centos-7 data]# ln -s myappv1/ test

2、修改/data/myappv1中的index.jsp配置文件

# vim /data/myappv1/index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
        <meta charset="utf-8">
        <title>jsp例子</title>
</head>
<body>
myappv1-test.jsp 后面的內容是服務器端動態生成字符串,最后拼接在一起  #修改問網頁要顯示的頁面
<%
out.println("hello jsp");
%>
</body>
</html> 

3、修改tomcat配置文件

vim  /usr/local/tomcat/conf/server.xml  

      </Host>
     <Host name="node1.baidu.com" appBase="/data/webapps/" unpackWARs="True" autoDeploy="false" >  #創建在配置文件下面就不能封口
    <Context path="/test" docBase="/data/test" reloadable="" />  #指定當前要訪問的文件目錄路徑,寫完需要封口/
   </Host> 
   </Engine>
  </Service>
</Server>

 

訪問網頁測試:http://node1.baidu.com:8080/test/

  

注意:這里特別使用了軟鏈接,原因就是以后版本升級,需要將軟鏈接指向myappv1,重啟Tomcat。如果新版上

線后,出現問題,重新修改軟鏈接到上一個版本的目錄,並重啟,就可以實現回滾。

 

 

  

  

  

  

 

  

 

  

  

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM