Tomcat介紹:
Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬于輕量級應用服務器,在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 服務器,可利用它響應對HTML 頁面的訪問請求。實際上Tomcat 部分是Apache 服務器的擴展,但它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。
訣竅是,當配置正確時,Apache 為HTML頁面服務,而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Apache服務器。目前Tomcat最新版本為8.0.0-RC1 (alpha) Released。
Tomcat 的安裝:
? ? ? ?Tomcat:事先部署JDK
? ? ? ? ? ?方法一:
Oracle JDK:
? ? ? ? ? ? ? ? ? 安裝相應版本的rpm包;
? ? ? ? ? ? ? ? ? ? ? ? jdk-VERSION-OS-ARCH.rpm
? ? ? ? ? ? ? ? ? 例如:jdk-1.8.0_25-linux-x64.rpm ? ?centos7系統自帶
? ? ? ? ? ? ? ? ?yum -y install java-1.8.0-openjdk-devel
? ? ? ? ? ? ? ? ?java -version 顯示java程序的版本信息
? ? ? ? ? ? ?注意:安裝完成后,要配置JAVA_HOME環境變量,指向java的安裝路徑;
? ? ? ? ? ? ? ? ? 或者直接官網下載RPM包:
? ? ? ? ? ? ? ? ? ? ? ? lftp 172.16.0.1
? ? ? ? ? ? ? ? ? ? ? ? ?rpm -ivh jdk-8u144-linux-x64.rpm
? ? ? ? ? ? ? ? ? ? ? ? ?vim /etc/profile.d/java.sh
? ? ? ? ? ? ? ? ? ? ? ? export JAVA_HOME=/usr/java/latest
? ? ? ? ? ? ? ? ? ? ? ? export PATH=$JAVA_HME/bin:$PATH
? ? ? ? ? ? ? ?OpenJDK:
? ? ? ? ? ? ? ? ? ? ?AVA_HOME=/usr
? ? ? ? ? ? ? ?Oracle JDK:
? ? ? ? ? ? ? ? ? ? JAVA_HOME=/usr/java/jdk_VERSION
? ? ? ? ? ? 通過rpm包,安裝tomcat 8080端口:
? ? ? ? ? ? ? ? ? yum list all tomcat*
? ? ? ? ? ? ? ? ? yum install tomcat tomcat-lib tomcat-admin-webapps tomcat-docs-webapp tomcat-webapps
? ? ? ? ? ? ? ? ? systemctl start tomcat.service
? ? ? ? ? ? ? ? ? ss -tnlp
? ? ? ? ? rpm包安裝的程序環境:
? ? ? ? ? ? ? 配置文件目錄:/etc/tomcat
? ? ? ? ? ? ? 主配置文件:server.xml
? ? ? ? ? ? ? webapps存放位置:/var/lib/tomcat/webapps/
? ? ? ? ? ? ? ? ? ?examples
? ? ? ? ? ? ? ? ? ?manager
? ? ? ? ? ? ? ? ? ?host-manager
? ? ? ? ? ? ? ? ? ?docs
? ? ? ? ? ? ? ? ? ?Unit File:tomcat.service
? ? ? ? ? ? ? 環境配置文件:/etc/sysconfig/tomcat 調整jdk內存使用大小等初始值
? ? ? ? ? 方法二:
? ? ? ? ? ? ? ? ? ? ?通過直接展開tar包,
? ? ? ? ? ? ? ? ? ? ? ? ? ? lftp 172.16.0.1/pub
? ? ? ? ? ? ? ? ? ? ? ? ? ? cd Sources/7.x86_64/tomcat/
? ? ? ? ? ? ? ? ? ? ? ? ? ? mget apache-tomcat-7.0.78.tar.gz
? ? ? ? ? ? ? ? ? ? ? ? ? ? tar xvf apache-tomcat-7.0.78.tar.gz -C /usr/local
? ? ? ? ? ? ? ? ? ? ? ? ? ? cd /usr/local
? ? ? ? ? ? ? ? ? ? ? ? ? ? ln -sv apache-tomcat-7.0.78 tomcat
? ? ? ? ? ? ? ? ? ? ? ? ? ? cd tomcat/bin
? ? ? ? ? ? ? ? ? ? ? ? ? ? vim /etc/profile.d/tomcat.sh
? ? ? ? ? ? ? ? ? ? ? ? ? ? export CATALINA_BASE=/usr/local/tomcat
? ? ? ? ? ? ? ? ? ? ? ? ? ? export PATH=$CATALINA_BASE/bin:$PATH
? ? ? ? ? ? ? ? ? ? ? ? ? ? catalina.sh –help
? ? ? ? ? ? ? ? ? ? ? ? ? ? catalina.sh start
? ? ? ? ? ? ? 切換到普通用戶運行tomcat :
? ? ? ? ? ? ? ? ? ? ? ? ? ?catalina.sh stop
? ? ? ? ? ? ? ? ? ? ? ? ? ?useradd -r tomcat
? ? ? ? ? ? ? ? ? ? ? ? ? ?chown -R tomcat:tomcat /usr/local/tomcat/*
? ? ? ? ? ? ? ? ? ? ? ? ? ? su – tomcat -c ‘catalina.sh start’ 切換到普通用戶運行
? ? ? ? ? ? ? tomcat程序環境:
? ? ? ? ? ? ? ? ? ? ? ?tomcat的目錄結構:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?bin:腳本,及啟動時用到的類;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?conf:配置文件目錄;主配置文件server.xml
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?lib:庫文件,Java類庫,jar;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?logs:日志文件目錄;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?temp:臨時文件目錄;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?webapps:webapp的默認目錄;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?work:工作目錄;存放編譯后的字節碼文件;
? ? ? ? ? ? ? ? ? ??tomcat的配置文件構成:
? ? ? ? ? ? ? ? ? ? ? ? ? ? server.xml:主配置文件;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?web.xml:每個webapp只有“部署”后才能被訪問,它的部署方式通常由web.xml進行定 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 義,其存放位置為WEB-INF/目錄中;此文件為所有的webapps提供默認部署相 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 關的配置;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?context.xml:每個webapp都可以使用的配置文件,它通常由專用的配置文件context.xml ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?來定義,其存放位置為WEB-INF/目錄中;此文件為所有的webapps提供默認 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?配置;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tomcat-users.xml:用戶認證的賬號和密碼文件;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? catalina.policy:當使用-security選項啟動tomcat時,用于為tomcat設置安全策略;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? catalina.properties:Java屬性的定義文件,用于設定類加載器路徑,以及一些與JVM調 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 優相關參數;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?logging.properties:日志系統相關的配置
? ? ? ? Tomcat的核心組件:server.xml
? ? ? ? ? ? ? ? ? ? ? ? ? ? <Server>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<Service>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <connector/>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <connector/>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?…
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<Engine>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <Host>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <Context/>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<Context/>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? …
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </Host>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<Host>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? …
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </Host>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? …
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </Engine>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?</Service>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </Server>
? ? ? ? ? ? ? ? ?每一個組件都由一個Java“類”實現,這些組件大體可分為以下幾個類型:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 頂級組件:Server
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?服務類組件:Service
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?連接器組件:http, https, ajp(apache jserv protocol)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 容器類:Engine, Host, Context 部署應用程序的組件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?被嵌套類:valve, logger, realm, loader, manager, …
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?集群類組件:listener, cluster, …
? ? ? ? ? ? ?JSP WebAPP的組織結構:
? ? ? ? ? ? ? ? ? ? ? ? ? ?/: webapps的根目錄
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?index.jsp:主頁;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?WEB-INF/:當前webapp的私有資源路徑;通常用于存儲當前webapp的
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?web.xml和context.xml配置文件;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? META-INF/:類似于WEB-INF/;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? classes/:類文件,當前webapp所提供的類;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?lib/:類文件,當前webapp所提供的類,被打包為jar格式;
? ? ? ? ? ? ? ? ? ? ? ? ?webapp歸檔格式:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?.war:webapp 歸檔文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?.jar:EJB的類打包文件(類庫);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?.rar:資源適配器類打包文件;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .ear:企業級webapp;
部署(deploy)webapp的相關操作:
? ? ? ? ? ? ? ? ? ? ?deploy:將webapp的源文件放置于目標目錄(網頁程序文件存放目錄),配置tomcat服務器能夠 ? ? ? ? ? ? ? ? ? ? ?基于web.xml和context.xml文件中定義的路徑來訪問此webapp;將其特有的類和依賴的類通過 ? ? ? ? ? ? ? ? ? ? ?class loader裝載至JVM;
? ? ? ? ? ? ?部署有兩種方式:
? ? ? ? ? ? ? ? ? ? ? 自動部署:auto deploy
? ? ? ? ? ? ? ? ? ? ? 手動部署:
? ? ? ? ? ? ? ? ? ? ? ? ? ?冷部署:把webapp復制到指定的位置,而后才啟動tomcat;
? ? ? ? ? ? ? ? ? ? ? ? ? ?熱部署:在不停止tomcat的前提下進行部署;
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 部署工具:manager、ant腳本、tcd(tomcat client deployer)等;
? ? ? ? ? ? ? ? ? ?undeploy:拆除(反部署),停止webapp,并從tomcat實例上卸載webapp;
? ? ? ? ? ? ? ? ? ?start:啟動處于停止狀態的webapp;
? ? ? ? ? ? ? ? ? ?stop:停止webapp,不再向用戶提供服務;其類依然在jvm上;
? ? ? ? ? ? ? ? ? ? redeploy:重新部署;
實驗:手動提供一測試類應用,并冷部署:
環境:centos7服務器一臺(172.16.252.18)
關閉防火墻,和selinux
? ? ? ? ? ? ? ? ? ? ? ?yum -y install java-1.8.0-openjdk-devel
? ? ? ? ? ? ? ? ? ? ? ?yum install tomcat tomcat-lib tomcat-admin-webapps tomcat-docs-webapp tomcat-webapps
? ? ? ? ? ? ? ? ? ? ? #systemctl stop tomcat.service
? ? ? ? ? ? ? ? ? ? ? # mkidr -pv /usr/share/tomcat/webapps/test/{classes,lib,WEB-INF,META-INF}
? ? ? ? ? ? ? ? ? ? ? ?創建文件/usr/share/tomcat/webapps/test/index.jsp
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <%@ page language=”java” %>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<%@ page import=”java.util.*” %>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <html>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <head>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<title>Test Page</title>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </head>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <body>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <% out.println(“hello world”);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? %>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?</body>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </html>
? ? ? ? ? ? ? ? ? ? ? ?#systemctl start tomcat.service
? ? ? ? ? ? ? 訪問測試:
? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ?Manager 熱部署:
? ? ? ? ? ? ?? vim /etc/tomcat/tomcat-users.xml?
? ? ??
? ? ? ? ? ?再點擊Manager ? App
? ? ? ? ? ? ? ?輸入用戶名:tomcat 密碼:tomcat
進行WAR 文件部署: 基于上面實驗的基礎上
? ? ? ? ? ? ? ?在物理服務器上:
? ? ? ? ? ? ? ? ? ? lftp 172.16.0.1/pub
? ? ? ? ? ? ? ? ? ?cd Sources/7.x86_64/tomcat
? ? ? ? ? ? ? ? ? ? mget solo-2.2.0.war 下載solo-2.2.0.war 到物理機
? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ?上圖中,把 solo-2.2.0.war上傳,然后Deploy
? ? ? ? ??

簡單運用先介紹到這,后期會繼續完善tomcat 的進階配置,以及Tomcat 負載均衡集群!
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/86956
非常仔細、詳細的安裝攻略,推薦給大家!