Tomcat服務(wù)器的安裝配置圖文教程(推薦)
現(xiàn)在將使用Tomcat的一些經(jīng)驗(yàn)和心得寫到這里,作為記錄和備忘。如果有朋友看到,也請(qǐng)不吝賜教。
1、首先是Tomcat的獲取和安裝。
獲取當(dāng)然得上Apache的官方網(wǎng)站下載,開(kāi)源免費(fèi),而且?guī)捯沧銐?。下載會(huì)很快。
這是兩種不同的下載,一個(gè)是普通安裝版本,一個(gè)是解壓安裝版本。使用起來(lái)是一樣的,只是在普通安裝版本中有一些界面可提供對(duì)Tomcat的快捷設(shè)置,而且普通安裝會(huì)將Tomcat作為系統(tǒng)服務(wù)進(jìn)行注冊(cè)。
2、Tomcat的運(yùn)行環(huán)境搭建。
?。ń鈮喊妫┌惭b(就是解壓)完成后如下:
Tomcat的啟動(dòng)是一個(gè)bat文件(Windows下),在bin目錄下。雙擊即可。
如果啟動(dòng)不成功,一般的情況是控制臺(tái)出來(lái)一下立即消失,說(shuō)明Tomcat沒(méi)有找到Java的運(yùn)行時(shí)環(huán)境。
簡(jiǎn)單理解,就是Tomcat找不到JDK,沒(méi)辦法運(yùn)行。
我們“告訴”它JDK的安裝路徑。即在環(huán)境變量里新建JAVA_HOME(不區(qū)分大小寫),指向JDK安裝目錄。如下:
這樣,Tomcat就配置好了,啟動(dòng)就OK。
啟動(dòng)Tomcat,在瀏覽器地址欄輸入http://localhost:8080/如果看到亂七八糟的關(guān)于Tomcat的介紹神馬,說(shuō)明配置成功。
3、Tomcat的目錄結(jié)構(gòu)介紹。
bin目錄存放一些啟動(dòng)運(yùn)行Tomcat的可執(zhí)行程序和相關(guān)內(nèi)容。
conf存放關(guān)于Tomcat服務(wù)器的全局配置。
lib目錄存放Tomcat運(yùn)行或者站點(diǎn)運(yùn)行所需的jar包,所有在此Tomcat上的站點(diǎn)共享這些jar包。
wabapps目錄是默認(rèn)的站點(diǎn)根目錄,可以更改。
work目錄用于在服務(wù)器運(yùn)行時(shí)過(guò)度資源,簡(jiǎn)單來(lái)說(shuō),就是存儲(chǔ)jsp、servlet翻譯、編譯后的結(jié)果。
其他目錄和文件暫時(shí)不做介紹。
4、Tomcat的默認(rèn)行為。
我們的瀏覽器請(qǐng)求如果到達(dá)了Tomcat,并且請(qǐng)求無(wú)誤,一般Tomcat會(huì)以靜態(tài)頁(yè)面(即html文件)的形式給與響應(yīng),這是http服務(wù)器的默認(rèn)行為。
一個(gè)完整的資源請(qǐng)求包括:
協(xié)議(如http)
主機(jī)名(域名,如localhost、www.baidu.com)
端口號(hào)(http協(xié)議默認(rèn)為80,所以我們一般向某個(gè)網(wǎng)站發(fā)起請(qǐng)求沒(méi)有輸入)
站點(diǎn)
資源位置
如http://localhost:8080/ROOT/index.jsp
那么在第二步時(shí)我們只輸入了域名(或者主機(jī)名)就訪問(wèn)到了某個(gè)具體的頁(yè)面,這是怎么回事呢?。
首先,請(qǐng)求會(huì)通過(guò)一些途徑到達(dá)請(qǐng)求的主機(jī)地址并被該服務(wù)器(指硬件,如我們的本機(jī)電腦)上的http服務(wù)器程序獲得。這一步解釋起來(lái)比較麻煩,我們不做贅述,我會(huì)在其他篇幅里介紹。
比如我們輸入http://localhost:8080到瀏覽器里。被Tomcat發(fā)現(xiàn)了。
現(xiàn)在它拿到請(qǐng)求,先分析我們所請(qǐng)求的是什么資源。由于我們沒(méi)有指定,它會(huì)到默認(rèn)的站點(diǎn)去拿默認(rèn)的頁(yè)面給我們。
現(xiàn)在我們把過(guò)程走一遍:
服務(wù)器端:Tomcat監(jiān)聽(tīng)著8080端口,時(shí)時(shí)注意是否有請(qǐng)求過(guò)來(lái)。
客戶端瀏覽器發(fā)出請(qǐng)求,到達(dá)了服務(wù)器端,由于端口的分配,請(qǐng)求最終被Tomcat得到。
Tomcat解析請(qǐng)求的資源,發(fā)現(xiàn)沒(méi)有指定需要的是哪個(gè)站點(diǎn)下的哪個(gè)資源。
Tomcat在默認(rèn)的站點(diǎn)下把默認(rèn)的頁(yè)面返回給客戶端瀏覽器作為響應(yīng)。
5、更改Tomcat默認(rèn)配置。
?、?、修改Tomcat監(jiān)聽(tīng)端口。
我們都有過(guò)訪問(wèn)網(wǎng)站的經(jīng)歷。我們一般只輸入了域名對(duì)吧,那么假設(shè)我們現(xiàn)在作為網(wǎng)絡(luò)服務(wù)提供者,將要對(duì)外發(fā)布網(wǎng)站,我們?cè)趺醋層脩糁惠斎胛覀兊挠蛎湍芸吹轿覀優(yōu)樗?她準(zhǔn)備的網(wǎng)頁(yè)呢?
首先我們需要將監(jiān)聽(tīng)端口設(shè)置為80,道理很簡(jiǎn)單,用戶不會(huì)在瀏覽器輸入:8080來(lái)訪問(wèn)網(wǎng)站,瀏覽器也不會(huì)自動(dòng)將請(qǐng)求發(fā)送到服務(wù)器的8080端口。
在%TOMCAT_HOME%(以下代指Tomcat的安裝路徑)下的conf目錄下的server.xml文件中修改。
這個(gè)文件里東西不少,其實(shí)大家不必在意。為什么呢?你把注釋刪除后再把整個(gè)xml看作一個(gè)對(duì)象,是吧,每個(gè)節(jié)點(diǎn)是一個(gè)屬性,這個(gè)屬性又可能是一個(gè)對(duì)象,它里面有屬性……要這樣去理解,或者直接認(rèn)為是Tomcat的配置信息到也沒(méi)錯(cuò)。
這樣,就不用輸入:8080了。
?、凇⑿薷哪J(rèn)站點(diǎn)。
首先說(shuō),站點(diǎn)是具有特定結(jié)構(gòu)的文件夾。這一點(diǎn)在Tomcat里表現(xiàn)得極為清晰。
站點(diǎn),在服務(wù)器上肯定是用文件夾(即目錄結(jié)構(gòu))來(lái)存儲(chǔ)和管理的。但是它和普通的文件夾又不同,在Tomcat里,可用于作為站點(diǎn)的文件夾必須有如下特點(diǎn):擁有一個(gè)名為WEB-INF的子文件夾,該子文件夾下必須有一個(gè)名為web.xml的文件,而且該xml文件必須受約束與特定的DTD。
我們先配置或者說(shuō)叫創(chuàng)建一個(gè)站點(diǎn),再將其設(shè)置為默認(rèn)站點(diǎn)。
配置站點(diǎn):創(chuàng)建文件夾,創(chuàng)建WEB-INF子文件夾,創(chuàng)建web.xml,完成。web.xml內(nèi)容可以參考webapps/ROOT/WEB-INF/web.xml。
設(shè)置為默認(rèn)站點(diǎn):
這里需要分為兩步執(zhí)行。
告訴Tomcat當(dāng)請(qǐng)求哪個(gè)站點(diǎn)時(shí)(或者說(shuō)在域名后面跟的是什么名字),你來(lái)找我。
告訴Tomcat我在哪里。
上圖已經(jīng)將兩步配置好了(實(shí)際上Tomcat默認(rèn)加上了將空站點(diǎn)指向ROOT的代碼),我們的d:/myweb:
如果你的站點(diǎn)存放在webapps目錄下,可以使用相對(duì)路徑,比如,我們將d:/myweb整個(gè)拷到%TOMCAT_HOME%/webapps下,上圖的docBase很明顯就不需要加上d:/了。
我在index.html里寫了幾句話,然后結(jié)果出來(lái)了:
③、修改默認(rèn)頁(yè)面。
在上面,我們還算是中規(guī)中矩,按照常理出牌,謝了index.html。那么如果沒(méi)有寫呢?Tomcat會(huì)怎么做呢?
請(qǐng)大家找到conf/web.xml。這個(gè)文件是對(duì)所有站點(diǎn)的共同屬性做出了設(shè)置。比如大家看文件結(jié)尾處:
這個(gè)叫做歡迎頁(yè)面,當(dāng)沒(méi)有輸入資源地址時(shí),會(huì)由上至下地查找,獲取頁(yè)面,進(jìn)行響應(yīng)。
很清楚了吧,改動(dòng)它就可以,但是不建議在這里改,會(huì)是所有站點(diǎn)設(shè)置變化,你應(yīng)該將其復(fù)制到你需要改動(dòng)的站點(diǎn)下的web.xml,進(jìn)行設(shè)置。
6、虛擬主機(jī)的配置。
所謂虛擬主機(jī),就是將一個(gè)或多個(gè)主機(jī)名(域名)和Tomcat所在的服務(wù)器進(jìn)行綁定。由于一個(gè)IP可以和多個(gè)域名進(jìn)行幫定,我們大可以將不同的域名指向服務(wù)器(指硬件)上的不同文件夾,造成一個(gè)服務(wù)器(或者一個(gè)IP)多個(gè)主機(jī)的“虛擬主機(jī)”效果。
這個(gè)實(shí)現(xiàn)起來(lái)相當(dāng)?shù)暮?jiǎn)單。只需要在server.xml文件中新建Host節(jié)點(diǎn),將其屬性進(jìn)行不同設(shè)置即可。
#你的主機(jī)名(域名)1 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> #你的域名2 <Host name="www.coderecord.org" appBase="主機(jī)空間地址" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> #域名3可以和域名2共用一個(gè)主機(jī)空間 <Alias>coderecord.org</Alias> <Context path="" docBase="站點(diǎn)地址" debug="1" reloadable="true" allowLinking="true" /> </Host>
以上配置信息根據(jù)Tomcat的版本不同而不同。
本篇隨筆對(duì)Tomcat的安裝、環(huán)境搭建、虛擬目錄、虛擬主機(jī)配置都有淺陋的見(jiàn)解,忘大家指正。
相關(guān)文章
網(wǎng)站數(shù)據(jù)自動(dòng)備份方法
本文是根據(jù)作者自己多年的維護(hù)經(jīng)驗(yàn),來(lái)和大家分享下網(wǎng)站數(shù)據(jù)自動(dòng)備份的一些經(jīng)驗(yàn)。2010-04-04MIME類型大全(response.setContentType中MIME參數(shù)類型總結(jié))
MIME類型就是設(shè)定某種擴(kuò)展名的文件用一種應(yīng)用程序來(lái)打開(kāi)的方式類型,當(dāng)該擴(kuò)展名文件被訪問(wèn)的時(shí)候,瀏覽器會(huì)自動(dòng)使用指定應(yīng)用程序來(lái)打開(kāi)。多用于指定一些客戶端自定義的文件名,以及一些媒體文件打開(kāi)方式2017-07-07Deployment副本無(wú)狀態(tài)服務(wù)創(chuàng)建及水平擴(kuò)展
這篇文章主要為大家介紹了Deployment副本無(wú)狀態(tài)服務(wù)及水平擴(kuò)展,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03Ajenti開(kāi)源免費(fèi)的服務(wù)器管理面板和Ajenti V虛擬主機(jī)面板及安裝與使用詳細(xì)教程
Ajenti是國(guó)外一個(gè)功能非常強(qiáng)大的輕型的Linux服務(wù)器管理面板,采用Python架構(gòu),修改擴(kuò)展非常簡(jiǎn)單,Ajenti V是Ajenti一個(gè)虛擬主機(jī)管理面板插件,下面通過(guò)本文給大家介紹Ajenti開(kāi)源免費(fèi)的服務(wù)器管理面板和Ajenti V虛擬主機(jī)面板及安裝與使用詳細(xì)教程,一起看看吧2017-07-07WordPress網(wǎng)站遷移到新主機(jī)防火墻配置
這篇文章主要為大家介紹了WordPress網(wǎng)站遷移到新主機(jī)防火墻配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03微服務(wù)架構(gòu)之服務(wù)注冊(cè)與發(fā)現(xiàn)功能詳解
這篇文章主要為大家介紹了微服務(wù)架構(gòu)之服務(wù)注冊(cè)與發(fā)現(xiàn)的功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-01-01