Tomcat基礎及常見使用入門

Tomcat的簡單介紹,安裝,以及簡單的配置運用

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

? ? ? ? ? ? ? 訪問測試:

? ? ? ? ? ? ? ? ? ? ? ? ? ??clipboard

? ? ? ? ? ? ?Manager 熱部署:7

? ? ? ? ? ? ?? vim /etc/tomcat/tomcat-users.xml?
? ? ??
8

? ? ? ? ? ?再點擊Manager ? App

? ? ? ? ? ? ? ?輸入用戶名:tomcat 密碼:tomcat
9

進行WAR 文件部署: 基于上面實驗的基礎上

? ? ? ? ? ? ? ?在物理服務器上:
? ? ? ? ? ? ? ? ? ? lftp 172.16.0.1/pub
? ? ? ? ? ? ? ? ? ?cd Sources/7.x86_64/tomcat
? ? ? ? ? ? ? ? ? ? mget solo-2.2.0.war 下載solo-2.2.0.war 到物理機
? ? ? ? ? ? ?10
? ? ? ? ? ? ? ? ? ? ?上圖中,把 solo-2.2.0.war上傳,然后Deploy
? ? ? ? ??11
簡單運用先介紹到這,后期會繼續完善tomcat 的進階配置,以及Tomcat 負載均衡集群!

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/86956

(11)
shenjialongshenjialong
上一篇 2017-09-11 18:46
下一篇 2017-09-11 21:42

相關推薦

  • 如何使用openssl工具創建私有CA

    一、CA及證書 非對稱加密是為了保證互聯網中通訊信息安全使用的一種算法,密鑰是成對出現(公鑰和私鑰),它的特點是發送方A使用接收方B的公鑰加密數據,所有只有B擁有與之配對的私鑰解密該數據,反之亦然。那么,A和B之間怎么交換得到對方的真實安全的公鑰呢?此時就需要一個權威的機構來驗證公鑰的合法性,這個機構稱之為CA(Certification Authority…

    2017-07-16
  • 計算機相關簡介和linux相關簡介

    一、計算機相關簡介與linux的一些概念 計算機系統 由硬件(Hardware)系統和軟件(Software)系統兩大部分構成: 硬件系統 :CPU(控制器、運算器),內存儲器(RAM、ROM),外存儲器(硬盤等),輸入設備(鍵盤、鼠標等),輸出設備(顯示器等),其他設備相關設備。  軟件系統 :系統軟件(操作系統,數…

    Linux干貨 2017-02-18
  • vsftpd, samba, nfs, mariadb

    2018/2/13 11:45 第十一周

    2018-02-13
  • LAMP快速部署及LAMP組合深入講解-2

      lamp SQL 數據管理模型:層次模型、網狀模型、關系模型數據分類:結構化數據、半結構化數據、非結構化數據 關系模型 數據庫:一個方案、一個項目 二維關系: 表:row, column 索引:index 視圖:view SQL接口:Structured Query Language;類似于OS的shell接口;也提供編程功能; ANSI: S…

    2017-06-04
  • corosync+pacemaker+pcs 使用ansible配置高可用LAMP構架

    前言: 這篇博客的實驗主要是配置兩個節點基于corosync + pacemaker的高考用lamp, 是我搞得最痛苦的一次,并且結果還不穩定。主要問題是corosync 1.x + pacemaker 時,如果把pacemaker當成插件使用,嘗試很多次都不成功,后來把pacemaker當成半獨立的服務進行配置。 但是如此一來crm就沒辦法進行資源配置,只…

    Linux干貨 2016-01-27
  • linux 簡單命令

    前面介紹一些基本基礎篇 后面主要介紹screen命令的用法。

    2017-11-19

評論列表(1條)

  • h
    h 2017-09-12 13:39

    非常仔細、詳細的安裝攻略,推薦給大家!

欧美性久久久久