標籤:

tomcat6的server.xml配置

Tomcat 是一款優秀的JSP/Servlet容器,最初由SUN開發,後來被貢獻給了Apache社區。Tomcat現在的版本已到6。Tomcat6實現了 Servlet2.5和JSP2.1規範。針對web開發和web服務,提供了更多的新功能。本文使用的版本為Tomcat6.0.14,要求的JDK版本至少為1.5。Tomcat不同版本間的配置有差異,如果讀者使用的是其他版本,請仔細閱讀Tomat官方文檔,或者到網上尋找相關的資料。 Tomcat有安裝版和解壓縮版兩種版本,安裝版除了提供一個圖形界面的後台和Windows服務外,其他的和解壓縮版沒有區別。我使用壓縮版。 第一步,我們需要下載Tomcat,下載地址是http://tomcat.apache.org。下載完成後,解壓縮,我的Tomcat位於C:/Tomcat6下,以下用$TOMCAT表示這個目錄。 第二步,啟動和停止 $TOMCAT/bin下面是Tomcat用到的腳本程序,擴展名為.bat是用於windows平台的批處理文件,擴展名為.sh的是用於linux或Unix平台的腳本。我們通常用到的是startup.bat、shutdown.bat腳本。我們也可以用catalina.bat start啟動Tomcat,用catalina.bat stop關閉Tomcat,事實上,startup.bat正是catalina.bat start的別名,同理shutdownup.bat 是catalina.bat stop的別名。 Catalina.bat才是操作Tomcat的核心腳本,可以通過catalina –help查看catalina可以使用的參數及其說明。啟動Tomcat後,我們輸入如下網址:http://localhost:8080/,如果看到Tomcat的頁面,證明安裝成功,如果不成功,請檢查是否設置了正確的JAVA_HOME,JDK的版本是否太低。如果還是不成功,可能是埠衝突,下面將會介紹如何修改埠號。 TOMCAT配置 $TOMCAT/conf下是Tomcat的配置文件,最重要的配置文件是Servler.xml。Server.xml可以重新指定,方式是catalina.bat –config,比如指定config.xml取代Servler.xml,命令如下: catalina.bat run –config conf/config.xml Server.xml中可以配置部署應用需要的所有信息,從Tomcat5開始,應用配置可以從Server.xml獨立出來,這也是 Tomcat現在所推薦的配置方式,帶來的一個好處,顯而易見,更容易維護了。另一個好處,是在Servler.xml的修改,只能通過重啟Tomcat 才能發生作用,分拆後,修改完成,可以不用重啟Tomcat就發生作用。本文就採用這種配置方式。下面進行詳細的介紹。 (1) 埠的修改 Server元素下可以有多個Service,埠就是在Service元素下配置的。Connector元素的配置如下:

Xml代碼

  1. <Connnectorport=」8080」protocal=」HTTP/1.1」connectionTimeout=」20000」redirectPort=」8443」/>

其中protocal制定了該埠偵聽的協議類型,HTTP/1.1表示偵聽的是客戶的HTTP請求,即我們通過瀏覽器訪問需要輸入的埠,當埠號是80的時候,可以不用在瀏覽器地址欄輸入埠號,這就是我們訪問很多網站不需要指定埠的原因。有時候protocal沒有指定,這時候默認的是HTTP/1.1。注意這個埠必須是閑置的。 Service下面可以配置多個埠,用於偵聽不同的協議。 (2) 虛擬主機 Service元素下必須有一個Engine元素,Engine有一個名稱,和一個默認的虛擬主機名,形式如下:

Xml代碼

  1. <Enginename="Catalina"defaultHost="localhost">

虛擬主機就配置在Engine元素下。形式如下:

Xml代碼

  1. <Hostname="localhost"appBase="webapps"
  2. unpackWARs="true"autoDeploy="true"
  3. xmlValidation="false"xmlNamespaceAware="false">
  4. </Host>

name是虛擬主機的名字,appBase是虛擬主機指向的目錄,Tomcat啟動時,會自動載入appBase下的應用。 unpackWARs表示是否自動解壓縮appBase下已打成WAR包的應用,autoDeploy表示在伺服器運行的時候,將一個應用放入 appBase下,是否自動部署。 Tomcat應用部署 應用可以配置在Server.xml中,這裡介紹分拆後的配法。 應用的獨立配置文件應該配置在路徑$TOMCAT/conf/engineName/hostName/下,其中engineName是應用所在的Engine的名字,對於本例而言是Catalina,hostName是應用所在的虛擬主機的名字,本例為localhost。配置文件的名字是這樣約定的:如果訪問路徑就在虛擬主機下,那麼名字為ROOT,如:ROOT.xml,其他情況下,文件名就是訪問路徑,不過需要用#替換路徑中的/。本例中訪問路徑為/struts,相應的文件名是struts.xml,內容如下:

Xml代碼

  1. <ContextdocBase="C:/WAP/struts"reloadable="true"/>

其中docBase指定應用所在的目錄,如果是相對目錄,對應的就是虛擬主機下appBase的目錄,也可以是絕對目錄,這個時候應用在什麼地方都可以。reloadable表示是否支持熱部署,比如class更新,如果reloadable為true,應用會重新部署。注意:在分拆後, Context的path屬性將不再起作用,這是Tomcat6和之前的版本不同的地方。 以上配置完成,我們就可以訪問應用了,訪問地址是http://localhost:8080/struts 下面介紹資源的配置 這裡指的主要是數據源的配置。Tomcat6使用的是DBCP數據源,它的配置方式如下:

Xml代碼

  1. <Resourcename="jdbc/test"auth="Application"type="javax.sql.DataSource"maxActive="100"
  2. maxIdle="30"maxWait="10000"username="sa"password="123456"driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
  3. url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"/>

它可以直接配置在Context元素下,這時數據源就只有他所屬的應用能夠訪問。如果需要所有的應用能夠訪問,可以配置在$TOMCAT/conf/context.xml中,直接配置下根元素下即可。這個文件在啟動tomcat的時候,所有的應用都會載入。 如果需要節省資源,共享同一個數據源,可以配置在Server.xml的GlobalNamingResources節點下,在應用中可以通過別名訪問,提供別名的方式是在應用所在的元素下添加如下的子元素,例:

Xml代碼

  1. <ResouceLinkname=」jdbc/test2」global=」jdbc/test」type=」javax.sql.DataSource」/>

name就是別名,global是在GlobalNamingResources所定義的資源。

推薦閱讀:

三才五格配置表(十二劃姓)
推薦:購車首選配置「DSG變速器」的車型
趕緊收藏,各價位配置最高的電視盒子推薦
請問這樣的電腦配置是否合理?
汽車上哪些配置是無用多餘的?

TAG:配置 |