程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Apache-Tomcat的安裝配置,apache-tomcat

Apache-Tomcat的安裝配置,apache-tomcat

編輯:JAVA綜合教程

Apache-Tomcat的安裝配置,apache-tomcat


現在將使用Tomcat的一些經驗和心得寫到這裡,作為記錄和備忘。如果有朋友看到,也請不吝賜教。

 

  1、首先是Tomcat的獲取和安裝。

    獲取當然得上Apache的官方網站下載,開源免費,而且帶寬也足夠。下載會很快。

  

    這是兩種不同的下載,一個是普通安裝版本,一個是解壓安裝版本。使用起來是一樣的,只是在普通安裝版本中有一些界面可提供對Tomcat的快捷設置,而且普通安裝會將Tomcat作為系統服務進行注冊。

  2、Tomcat的運行環境搭建。

    (解壓版)安裝(就是解壓)完成後如下:

  

    Tomcat的啟動是一個bat文件(Windows下),在bin目錄下。雙擊即可。

    如果啟動不成功,一般的情況是控制台出來一下立即消失,說明Tomcat沒有找到Java的運行時環境。

    簡單理解,就是Tomcat找不到JDK,沒辦法運行。

    我們“告訴”它JDK的安裝路徑。即在環境變量裡新建JAVA_HOME(不區分大小寫),指向JDK安裝目錄。如下:

  

    這樣,Tomcat就配置好了,啟動就OK。

    啟動Tomcat,在浏覽器地址欄輸入http://localhost:8080/如果看到亂七八糟的關於Tomcat的介紹神馬,說明配置成功。

   3、Tomcat的目錄結構介紹。

      bin目錄存放一些啟動運行Tomcat的可執行程序和相關內容。

      conf存放關於Tomcat服務器的全局配置。

      lib目錄存放Tomcat運行或者站點運行所需的jar包,所有在此Tomcat上的站點共享這些jar包。

      wabapps目錄是默認的站點根目錄,可以更改。

      work目錄用於在服務器運行時過度資源,簡單來說,就是存儲jsp、servlet翻譯、編譯後的結果。

      其他目錄和文件暫時不做介紹。

  4、Tomcat的默認行為。

      我們的浏覽器請求如果到達了Tomcat,並且請求無誤,一般Tomcat會以靜態頁面(即html文件)的形式給與響應,這是http服務器的默認行為。

      一個完整的資源請求包括:

      協議(如http)

      主機名(域名,如localhost、www.baidu.com)

      端口號(http協議默認為80,所以我們一般向某個網站發起請求沒有輸入)

      站點

      資源位置

 

        如http://localhost:8080/ROOT/index.jsp

      那麼在第二步時我們只輸入了域名(或者主機名)就訪問到了某個具體的頁面,這是怎麼回事呢?。

      首先,請求會通過一些途徑到達請求的主機地址並被該服務器(指硬件,如我們的本機電腦)上的http服務器程序獲得。這一步解釋起來比較麻煩,我們不做贅述,我會在其他篇幅裡介紹。

      比如我們輸入http://localhost:8080到浏覽器裡。被Tomcat發現了。

 

      現在它拿到請求,先分析我們所請求的是什麼資源。由於我們沒有指定,它會到默認的站點去拿默認的頁面給我們。

      現在我們把過程走一遍:

        服務器端:Tomcat監聽著8080端口,時時注意是否有請求過來。

        客戶端浏覽器發出請求,到達了服務器端,由於端口的分配,請求最終被Tomcat得到。

        Tomcat解析請求的資源,發現沒有指定需要的是哪個站點下的哪個資源。

        Tomcat在默認的站點下把默認的頁面返回給客戶端浏覽器作為響應。

  

  5、更改Tomcat默認配置。

     ①、修改Tomcat監聽端口。

        我們都有過訪問網站的經歷。我們一般只輸入了域名對吧,那麼假設我們現在作為網絡服務提供者,將要對外發布網站,我們怎麼讓用戶只輸入我們的域名就能看到我們為他/她准備的網頁呢?

        首先我們需要將監聽端口設置為80,道理很簡單,用戶不會在浏覽器輸入:8080來訪問網站,浏覽器也不會自動將請求發送到服務器的8080端口。

          在%TOMCAT_HOME%(以下代指Tomcat的安裝路徑)下的conf目錄下的server.xml文件中修改。

  

      這個文件裡東西不少,其實大家不必在意。為什麼呢?你把注釋刪除後再把整個xml看作一個對象,是吧,每個節點是一個屬性,這個屬性又可能是一個對象,它裡面有屬性……要這樣去理解,或者直接認為是Tomcat的配置信息到也沒錯。

      這樣,就不用輸入:8080了。

    ②、修改默認站點。

      首先說,站點是具有特定結構的文件夾。這一點在Tomcat裡表現得極為清晰。

      站點,在服務器上肯定是用文件夾(即目錄結構)來存儲和管理的。但是它和普通的文件夾又不同,在Tomcat裡,可用於作為站點的文件夾必須有如下特點:擁有一個名為WEB-INF的子文件夾,該子文件夾下必須有一個名為web.xml的文件,而且該xml文件必須受約束與特定的DTD。

      

      我們先配置或者說叫創建一個站點,再將其設置為默認站點。

        配置站點:創建文件夾,創建WEB-INF子文件夾,創建web.xml,完成。web.xml內容可以參考webapps/ROOT/WEB-INF/web.xml。

        設置為默認站點:

          這裡需要分為兩步執行。

            告訴Tomcat當請求哪個站點時(或者說在域名後面跟的是什麼名字),你來找我。

            告訴Tomcat我在哪裡。

  

            上圖已經將兩步配置好了(實際上Tomcat默認加上了將空站點指向ROOT的代碼),我們的d:/myweb:

            如果你的站點存放在webapps目錄下,可以使用相對路徑,比如,我們將d:/myweb整個拷到%TOMCAT_HOME%/webapps下,上圖的docBase很明顯就不需要加上d:/了。

  

            我在index.html裡寫了幾句話,然後結果出來了:

  

 

    ③、修改默認頁面。

      在上面,我們還算是中規中矩,按照常理出牌,謝了index.html。那麼如果沒有寫呢?Tomcat會怎麼做呢?

      請大家找到conf/web.xml。這個文件是對所有站點的共同屬性做出了設置。比如大家看文件結尾處:

  

      這個叫做歡迎頁面,當沒有輸入資源地址時,會由上至下地查找,獲取頁面,進行響應。

      很清楚了吧,改動它就可以,但是不建議在這裡改,會是所有站點設置變化,你應該將其復制到你需要改動的站點下的web.xml,進行設置。

   6、虛擬主機的配置。

      所謂虛擬主機,就是將一個或多個主機名(域名)和Tomcat所在的服務器進行綁定。由於一個IP可以和多個域名進行幫定,我們大可以將不同的域名指向服務器(指硬件)上的不同文件夾,造成一個服務器(或者一個IP)多個主機的“虛擬主機”效果。

      這個實現起來相當的簡單。只需要在server.xml文件中新建Host節點,將其屬性進行不同設置即可。

復制代碼
 1 #你的主機名(域名)1
 2 <Host name="localhost"  appBase="webapps"
 3            unpackWARs="true" autoDeploy="true"
 4            xmlValidation="false" xmlNamespaceAware="false"> 
 5 </Host> 
 6 #你的域名2
 7 <Host name="www.coderecord.org" appBase="主機空間地址" 
 8        unpackWARs="true" autoDeploy="true" 
 9        xmlValidation="false" xmlNamespaceAware="false">  
10        #域名3可以和域名2共用一個主機空間
11         <Alias>coderecord.org</Alias>
12         <Context path="" docBase="站點地址" debug="1" reloadable="true" allowLinking="true" />
13 </Host> 
復制代碼

      以上配置信息根據Tomcat的版本不同而不同。

 

本篇隨筆對Tomcat的安裝、環境搭建、虛擬目錄、虛擬主機配置都有淺陋的見解,忘大家指正。

認真你就輸了,一直認真你就贏了!   此文轉自:http://www.cnblogs.com/Johness/archive/2012/07/20/2600937.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved