熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Redhat 下安裝 Tomcat 之完全指南

2013-11-23 20:05:07  來源: Java開源技術 

  本文檔提供關於Tomcat的基礎信息主要內容如下:
  
  Tomcat二進制版本安裝
  與Tomcat相關的腳本的主要內容
  
  與serverxml相關的主要內容Tomcat的主要配置文件
  
  如何設置Tomcat與宿主web服務器一起工作的說明
  
  如何應用Tomcat配置一個現實中的web站點
  
  希望此文檔足以使新用戶可以開始使用Tomcat如找不到某方面的內容請(按以下順序)
  
  查找Tomcat faq
  
  查找Tomcat包清單
  
  向Tomcat用戶郵件列表發出問題
  
  如此疑問的答案不存在我們鼓勵把對疑問的解答放入Tomcat faq或此文檔如對此文檔有意見或建議請發送到Tomcat的郵件列表
  
  Getting Started
  
  Tomcat是一個帶有jsp環境的servlet容器servlet容器是一個根據用戶的行為可以管理和激活servlet的運行時的shell
  
  粗略地可以將servlet容器分為如下幾類:
  
  獨立的servlet容器
  
  內置有web服務器的一部分指當使用基於Java的web服務器的情形例如servlet容器是JavaWebServer的一個部分 獨立的servlet容器是Tomcat的默認模式
  
  大多數的web服務器並非基於Java因此我們可以得出如下兩種容器的模式
  
  進程內的servlet容器
  
  servlet容器作為web服務器的插件和Java容器的實現Web服務器插件在內部地址空間打開一個JVM(java virtual machine)使Java容器得以在內部運行如有某個需要調用servlet的請求插件將取得對此請求的控制並將他傳遞(使用JNI)給Java容器進程內容器對於多線程單進程的服務器非常合適並且提供很好的運行速度但伸縮性有所不足
  
  進程外的servlet容器
  
  servlet容器運行於web服務器之外的地址空間且作為web服務器的插件和Java容器的實現的結合web服務器插件和Java容器 JVM使用IPC機制(通常是TCP/IP)進行通訊當一個調用servlet的請求到達時插件將取得對此請求的控制並將其傳遞(使用IPC等)給Java容器進程外容器的反應時間或進程外容器引擎不如進程內容器但進程外容器引擎在許多其他可比的范圍內更好(伸縮性穩定性等)
  
  Tomcat既可作為獨立的容器(主要是用於開發與調試)又可作為對現有服務器的附加(當前支持ApacheIIS和Netscape服務器)即任何時候配置Tomcat你都必須決定如何應用他如選擇第二或第三種模式你還需要安裝一個web服務器接口
  
  Tomcat與Jserv有何區別?Tomcat是Jserv嗎?
  
  這是個常見的誤解Jserv是Servlet API兼容並與Apache一起使用的容器Tomcat是一個完全重寫的並與Servlet API和JSP兼容的容器
  
  Tomcat使用了一些為Jserv而寫的代碼特別是Jserv的Apache接口但這是唯一的相同之處
  
  怎樣安裝Tomcat的二進制版本?
  
  下載 zip/targz 任何壓縮文件從處
  
  解壓縮此文件到某目錄(如:foo)將會生成一子目錄名為tomcat
  
  轉換到tomcat目錄設置一新的環境變量(TOMCAT_HOME)指向你安裝的tomcat的目錄
  
  WIN平台鍵入:
  
  set TOMCAT_HOME=foo\tomcat
  
  Unix平台:
  
  如是bash/sh環境 鍵入:TOMCAT_HOME=foo/tomcat;export TOMCAT_HOME
  
  如是tcsh環境 鍵入:setenv TOMCAT_HOME foo/tomcat
  
  設置環境變量JAVA_HOME指向你JDK的目錄然後添加JAVA解釋器到你的PATH環境變量
  
  現在可以運行TOMCAT並作為一個獨立的Servlet容器(模式一)
  
  啟動與關閉Tomcat
  
  使用bin目錄中的腳本啟動與關閉Tomcat
  
  啟動:
  
  uinx:bin/startupsh
  
  win:bin\startup
  
  關閉:
  
  unix:bin/shutdownsh
  
  win:bin\shutdown
  
  Tomcat目錄結構
  
  假設你已將Tomcat解壓你已得到下列目錄結構:
  目錄名描述
  
  bin
  
  包含啟動/關閉腳本
  
  conf
  
  包含不同的配置文件
  
  包括 serverxml(Tomcat的主要配置文件)和為不同的Tomcat配置的web應用設置缺省值的文件webxml
  
  doc
  
  包含各種Tomcat文檔
  
  lib
  
  包含Tomcat使用的jar文件unix平台此目錄下的任何文件都被加到Tomcat的classpath中
  
  logs
  
  Tomcat擺放日志文件的地方
  
  src
  
  ServletAPI源文件先別高興這些只有些必須在Servlet容器內實現的空接口和抽象類
  
  webapps
  
  包含web項目示例
  
  此外你可以Tomcat會創建如下目錄:
  
  work
  Tomcat自動生成放置Tomcat運行時的臨時文件(如編譯後的JSP文件)如在Tomcat運行時刪除此目錄JSP頁面將不能運行
  
  classes
  你可以創建此目錄來添加一些附加的類到類路徑中任何你加到此目錄中的類都可在Tomcat的類路徑中找到自身
  
  Tomcat的腳本
  
  Tomcat是一個Java程序因此在設置好幾個環境變量後即可用命令行的方式運行然而設置Tomcat使用的每個環境變量和如下的命令行參數乏味且易錯因此Tomcat開發組提供了一些腳本使啟動和關閉Tomcat變得輕松
  
  注意:這些腳本僅僅是個便利的方法去啟動和關閉Tomcat你可修改他們來定制CLASSPATH環境變量如PATHLD_LIBRARY_PATH等等只要是生成一個正確的命令行即可
  
  這些腳本是什麼呢?下表列出對一般用戶最重要的腳本
  tomcat
  
  主腳本設置合適的環境變量包括CLASSPATHTOMCAT_HOME和JAVA_HOME和用適合的命令行參數啟動Tomcat
  
  startup
  
  在後台啟動Tomcattomcat start命令的替換方式
  
  shutdown
  
  關閉Tomcattomcat stop命令的替換方式
  
  對用戶最重要的腳本是tomcat(tomcatbat/tomcatsh)其他Tomcat相關的腳本作為一個簡單的面向單任務的指向Tomcat腳本(設置不同的命令行參數等)的入口
  
  仔細考察tomcatbat/tomcatsh它按以下步驟運行:
  
  在Unix下的步驟
  
  如未指定推測 TOMCAT_HOME
  
  如未指定推測 JAVA_HOME
  
  設置CLASS_PATH包含:
  
  ${TOMCAT_HOME}/classes目錄(如果存在)
  
  ${TOMCAT_HOME}/lib的一切內容
  
  ${JAVA_HOME}/lib/toolsjar(此jar文件包含工具javac我們需要javac處理jsp文件
  
  運行帶有設定Java環境變量的命令行參數的java命令調入tomcathome和orgapachetomcatstartupTomcat 作為啟始類同時也傳遞命令行參數到orgapachetomcatstartupTomcat 例如:
  
  執行start/stop/run 等的操作
  
  此Tomcat進程使用指向serverxml的路徑
  
  例如serverxml放置於etc/server_xml並且用戶意圖在後台啟動apache鍵 入如下命令行:
  
  bin/tomcatsh start ?f /etc/server_xml
  
  在Win下的步驟(略)
  
  由此可見win版的tomcatbat與Unix版的幾乎一致尤其在它不推測TOMCAT_HOME和JAVA_HOME的值並且不將所有的jar文件放入類路徑中
  
  Tomcat的配置文件
  
  Tomcat的配置基於兩個配置文件:
  
  serverxml Tomcat的全局配置文件
  
  webxml 在Tomcat中配置不同的關系環境
  
  這一部分將講述如何使用這些文件我們不會包含webxml的內部機制這些內部機制深入到了Servlet API的細節因此我們將討論涵蓋servlerxml內容及webxml在Tomcat關系環境中的用法
  
  serverxml
  
  serverxml是Tomcat的主配置文件完成兩個目標:
  
   提供Tomcat組件的初始配置
  
   說明Tomcat的結構含義使得Tomcat通過實例化組件完成起動及構建自身 如在serverxml所指定的
  
  下表描述serverxml種的重要元素:
  
  元素及其描述
  
  Server
  serverxml文件中最重要的元素Server定義了一個Tomcat服務器一般你不用對他擔心太多Server元素能包含Logger和ContextManager元素類型
  
  Logger
  此元素定義一個Logger對象每個Logger都有一個名字去標識也有一個紀錄Logger的輸出和冗余級別(描述此日志級別)和包含日志文件的路徑通常有servlet的Logger(ServletContextlog()處)JSP和Tomcat運行時的Logger
  
  ContextManager
  ContextManager說明一套ContextInterceptor RequestInterceptor Context和他們的Connectors的配置及結構ContextManager有幾個隨同提供的特性:
   用來紀錄調試信息的調試級別
   webapps/conf/logs/和所有已定義的環境的基本位置用來使Tomcat可以在TOMCAT_HOME外的其他目錄啟動
   工作目錄的名字
  
  ContextInterceptor&RequestInterceptor
  這些偵聽器(interceptors)偵聽具體發生在ContextManager中的事件例如ContextInterceptor偵聽Tomcat的啟動及終止事件RequestInterceptor監視在它服務過程中用
From:http://tw.wingwit.com/Article/program/Java/ky/201311/27917.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.