Tomcat

1. Tomcat 簡介

tomcatWeb Container 的開源實現, 是一個輕量級的 web 服務器, 是開發和調試 JSP 程序的首選java

1.1. Tomcat 架構組件

  • Server: Tomcat 的一個實例, 一般一個 JVM 只能包含一個 Tomcat 實例; 是 Tomcat 中的頂級組件, 一個 Server 包含一個或多個 Service
  • Service: Service 調用 Servlet Engine, 用於處理客戶端請求
  • Connectors: 負責鏈接客戶端請求至 Servlet 容器內的 Web 應用程序, 一般指的是接收客戶發來請求的位置及服務器端分配的端口。默認端口一般是 HTTP 協議的 8080, 一個引擎能夠配置多個鏈接器, 但這些鏈接器必須使用不一樣的端口; 默認的鏈接器是基於 HTTP/1.1Coyote
  • Engine: Engine 是指處理請求的 Servlet 引擎組件, 它檢查請求的 HTTP 首部信息以辨別請求應該發往哪一個 hostcontext, 並將請求處理後的結果返回的相應的客戶端
  • Host: Host 組件相似於 Apache 中的虛擬主機, 但在 Tomcat 中只支持基於 FQDN"虛擬主機"。而且一個引擎至少要包含一個主機
  • Context: Context 組件是最內層次的組件, 它表示 Web 應用程序自己; 配置一個 Context 最主要的是指定 Web 應用程序的根目錄, 以便 Servlet 容器可以將用戶請求發往正確的位置

2. 部署 Tomcat 9

2.1. 安裝 Tomcat

[root@localhost ~]# yum -y install java-1.8.0-openjdk.x86_64
[root@localhost ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.24/bin/apache-tomcat-9.0.24.tar.gz
[root@localhost ~]# tar xvf apache-tomcat-9.0.24.tar.gz -C /usr/local/
[root@localhost ~]# ln -s /usr/local/apache-tomcat-9.0.24/ /usr/local/tomcat
[root@localhost ~]# cat > /etc/profile.d/java.sh << EOF
export CATALINA_HOME=/usr/local/tomcat
export PATH=\${CATALINA_HOME}/bin:\${PATH}
EOF
[root@localhost ~]# source /etc/profile.d/java.sh
[root@localhost ~]# exec bash
[root@localhost ~]# catalina.sh start

2.2. Tomcat 目錄結構

bin  可執行腳本
lib  運行時依賴的庫文件
logs 日誌文件
work Tomcat 的工做目錄
conf 配置文件
    server.xml: Tomcat 的主配置文件, 包含 Service, Connector, Engine, Realm, Valve, Hosts 等組件的相關配置信息
    web.xml: 遵循 Servlet 規範標準的配置文件, 用於配置 servlet, 併爲全部的 Web 應用程序提供默認配置信息
    tomcat-user.xml: 用戶認證時用到的相關角色、用戶和密碼等信息
    context.xml: 全部 host 的默認配置信息
    catalina.policy: Java 相關的安全策略配置文件, 在系統資源級別上提供訪問控制的能力
    catalina.properties: Tomcat 內部 Package 的定義及訪問相關的控制
    logging.properties: 日誌記錄相關的配置信息

webapps: web 應用所在目錄, web 資源的存放目錄
    docs: 幫助文檔
    examples: 配置示例
    host-manager: 虛擬主機管理
    manager: Tomcat 管理
    ROOT: 默認訪問目錄

    每一個應用程序目錄下都有幾個一樣的目錄
        WEB-INF:當前webapp的私有資源,一般存放當前webapp的web.xml文件
        META-INF:當前webapp的私有資源,一般存放當前webapp的context.xml文件
        classes:當前webapp的私有類
        lib:當前webapp的私有類,打包爲jar格式
        index.jpg:當前webapp的首頁

2.3. 部署 webapp

冷部署: 把 webapp 複製的指定目錄以後重啓 Tomcat
熱部署: 在不中止 Tomcat 的前提下部署 webapp
    部署工具: manager(Tomcat 的管理頁面)
反部署: 中止 webapp 並從 Tomcat 實例中拆除其相關文件

stop: 中止 webapp
start: 啓動 ebapp
redeploy: 從新部署

2.4. 在 Tomcat 中部署 Jenkins

[root@localhost ~]# wget -O /usr/local/tomcat/webapps/jenkins.war http://mirror.serverion.com/jenkins/war-stable/2.176.3/jenkins.war
[root@localhost ~]# catalina.sh stop
[root@localhost ~]# catalina.sh start
相關文章
相關標籤/搜索