tomcat
是 Web Container
的開源實現, 是一個輕量級的 web
服務器, 是開發和調試 JSP
程序的首選java
Server
: Tomcat
的一個實例, 一般一個 JVM
只能包含一個 Tomcat
實例; 是 Tomcat
中的頂級組件, 一個 Server
包含一個或多個 Service
Service
: Service
調用 Servlet Engine
, 用於處理客戶端請求Connectors
: 負責鏈接客戶端請求至 Servlet
容器內的 Web
應用程序, 一般指的是接收客戶發來請求的位置及服務器端分配的端口。默認端口一般是 HTTP
協議的 8080
, 一個引擎能夠配置多個鏈接器, 但這些鏈接器必須使用不一樣的端口; 默認的鏈接器是基於 HTTP/1.1
的 Coyote
Engine
: Engine
是指處理請求的 Servlet
引擎組件, 它檢查請求的 HTTP
首部信息以辨別請求應該發往哪一個 host
或 context
, 並將請求處理後的結果返回的相應的客戶端Host
: Host
組件相似於 Apache
中的虛擬主機, 但在 Tomcat
中只支持基於 FQDN
的"虛擬主機"
。而且一個引擎至少要包含一個主機Context
: Context
組件是最內層次的組件, 它表示 Web
應用程序自己; 配置一個 Context
最主要的是指定 Web
應用程序的根目錄, 以便 Servlet
容器可以將用戶請求發往正確的位置[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
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的首頁
冷部署: 把 webapp 複製的指定目錄以後重啓 Tomcat 熱部署: 在不中止 Tomcat 的前提下部署 webapp 部署工具: manager(Tomcat 的管理頁面) 反部署: 中止 webapp 並從 Tomcat 實例中拆除其相關文件 stop: 中止 webapp start: 啓動 ebapp redeploy: 從新部署
[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