溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

tomcat虛擬主機(jī)怎么配置

發(fā)布時(shí)間:2022-05-10 10:26:31 來(lái)源:億速云 閱讀:214 作者:iii 欄目:大數(shù)據(jù)

本文小編為大家詳細(xì)介紹“tomcat虛擬主機(jī)怎么配置”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“tomcat虛擬主機(jī)怎么配置”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

對(duì)于tomcat服務(wù)器,可以放置多個(gè)網(wǎng)站(多個(gè)web應(yīng)用),這就是講配置多個(gè)虛擬主機(jī),可以看成好像有多個(gè)主機(jī),而每個(gè)主機(jī)上有一個(gè)web應(yīng)用。如同之前的文章所說(shuō)的,對(duì)于tomcat服務(wù)器來(lái)講,在server.xml文件中,一個(gè)<host>標(biāo)簽就代表著一臺(tái)虛擬主機(jī),之前的文章所用的都是默認(rèn)的虛擬主機(jī),這個(gè)在server.xml文件中是這樣定義的:

<host name="localhost" appbase="webapps" autodeploy="true" unpackwars="true">
...
</host>

可以看到這個(gè)已有的虛擬主機(jī)的名稱(“l(fā)ocalhost”)正好是瀏覽器訪問(wèn)本機(jī)的回環(huán)地址的主機(jī)名,appbase屬性是存放web應(yīng)用的目錄,autodeploy指是否自動(dòng)部署,unpackwars指是否自動(dòng)解壓war包,如果為false則不解壓直接從war包中運(yùn)行應(yīng)用程序。

  而我們想配置多個(gè)虛擬主機(jī)也是這樣,在server.xml文件中添加<host>標(biāo)簽,指定name屬性和appbase屬性之后,再添加web應(yīng)用。

  通常配置虛擬主機(jī)方式與網(wǎng)站域名比較相關(guān),而我沒(méi)有有域名的網(wǎng)址,因此直接修改hosts文件將域名重定向作為學(xué)習(xí)在服務(wù)器中虛擬主機(jī)的添加和配置。

  修改tomcat服務(wù)器中的server.xml文件,添加<host>標(biāo)簽,name屬性采取“域名”的方式,并將該虛擬主機(jī)存放web應(yīng)用的目錄【fjdingsd】放在非tomcat所在的【d】盤下:

<host name="www.fjdingsd.com" appbase="d:\fjdingsd" autodeploy="true" unpackwars="true">
</host>

tomcat虛擬主機(jī)怎么配置

   【news】目錄中:  

tomcat虛擬主機(jī)怎么配置

當(dāng)在server.xml中添加好虛擬主機(jī)之后,直接將web應(yīng)用放置在對(duì)應(yīng)的虛擬主機(jī)存放web應(yīng)用目錄,注意,這里是由<host>標(biāo)簽中appbase定義的d盤下【fjdingsd】目錄,而我的web應(yīng)用【news】就應(yīng)該放這其中,在我的web應(yīng)用所在目錄中有自定義的home.html文件。

現(xiàn)在就是需要將定義的虛擬主機(jī)名和ip綁定,因?yàn)闆](méi)有向dns服務(wù)器注冊(cè),所以我就使用hosts文件中將我的虛擬主機(jī)名與本機(jī)ip地址綁定:  

tomcat虛擬主機(jī)怎么配置

這樣啟動(dòng)tomcat服務(wù)器,在瀏覽器中輸入,可以看到: 

tomcat虛擬主機(jī)怎么配置 

這樣就配置好了一個(gè)虛擬主機(jī),并且在這虛擬主機(jī)中還有web應(yīng)用。

  這里只是小試一下對(duì)tomcat服務(wù)器的虛擬主機(jī)配置,而如果想真正讓外界訪問(wèn)我們配置的虛擬主機(jī)(網(wǎng)站),應(yīng)該向dns服務(wù)器注冊(cè)域名才行。

  不管在tomcat服務(wù)器中添加了多少個(gè)虛擬主機(jī),最終都是轉(zhuǎn)為ip地址向服務(wù)器訪問(wèn)。這里就會(huì)有一個(gè)問(wèn)題,如果每個(gè)web應(yīng)用都設(shè)置了首頁(yè),而又不在瀏覽器中輸入域名,而是直接通過(guò)ip地址打開(kāi),那么服務(wù)器怎么知道應(yīng)該是去哪個(gè)虛擬主機(jī)尋求資源呢?

  答案就在tomcat服務(wù)器的引擎<engine>上,由server.xml文件中的<engine>標(biāo)簽定義了tomcat服務(wù)器的默認(rèn)虛擬主機(jī):

<engine defaulthost="localhost" name="catalina">
 ...
 <host name="localhost" ...> </host>
 <host name="www.fjdingsd.com" ...> </host>
 ...
</engine>

因此如果我想改變tomcat服務(wù)器的默認(rèn)虛擬主機(jī),就修改<engine>標(biāo)簽中的“defaulthost”屬性。

================================================================

  如果要將開(kāi)發(fā)好的web應(yīng)用部署到遠(yuǎn)程服務(wù)器中,可以將web應(yīng)用進(jìn)行壓縮成war格式,再進(jìn)行傳輸,在tomcat服務(wù)器運(yùn)行的過(guò)程中,如果在其存放web應(yīng)用的目錄中檢測(cè)到新增的war包,則會(huì)進(jìn)行自動(dòng)解壓并部署(<host>中的unpackwars屬性和autodeploy屬性)。這種方式最適合向遠(yuǎn)程服務(wù)器進(jìn)行新的web應(yīng)用傳遞并管理。
  那么如何對(duì)開(kāi)發(fā)好的web應(yīng)用進(jìn)行war打包呢:

      在cmd中鍵入 “jar -cvf  應(yīng)用名.war  應(yīng)用名”。

如我的web應(yīng)用為d盤下【fjdingsd】目錄中的【news】目錄,那么我在cmd中就該這么輸入:jar  -cvf  news.war  news 

tomcat虛擬主機(jī)怎么配置

并得到了war文件: 

tomcat虛擬主機(jī)怎么配置 

然后將這個(gè)news.war往tomcat的【webapps】目錄中一放,過(guò)幾秒后tomcat就會(huì)對(duì)其自動(dòng)解壓,tomcat服務(wù)器一定要先打開(kāi)才會(huì)看到自動(dòng)解壓的過(guò)程。

tomcat虛擬主機(jī)怎么配置

   過(guò)3、4秒后:  

tomcat虛擬主機(jī)怎么配置

如果在tomcat運(yùn)行的過(guò)程中,將已經(jīng)自動(dòng)解壓的war包刪除,則過(guò)幾秒tomcat也會(huì)自動(dòng)將解壓后的web應(yīng)用刪除,這點(diǎn)請(qǐng)注意。

  如果是在tomcat服務(wù)器未啟動(dòng)之前,將war包放入【webapps】目錄中,那么tomcat啟動(dòng)后會(huì)自動(dòng)解壓并部署。

  如果在是tomcat解壓的war包,而在將tomcat關(guān)閉后再刪除war包,那么在此啟動(dòng)tomcat后之前由war包解壓出來(lái)的web應(yīng)用不會(huì)被刪除。

tomcat的體系結(jié)構(gòu)  

  tomcat的體系結(jié)構(gòu)可以從其最重要的server.xml文件中進(jìn)行結(jié)構(gòu)分析,下圖是一張tomcat的體系結(jié)構(gòu)圖:

tomcat虛擬主機(jī)怎么配置  

結(jié)合server.xml文件可以看到:  

tomcat虛擬主機(jī)怎么配置

  tomcat啟動(dòng)后,也就是服務(wù)器(<server>標(biāo)簽),啟動(dòng)后也會(huì)啟動(dòng)一些監(jiān)聽(tīng)器(<listener>)和一些全局命名資源(<globalnamingresources>)。

  除了服務(wù)器(<server>標(biāo)簽)被啟動(dòng)后,還會(huì)啟動(dòng)“服務(wù)”(<service>),正如在cmd中鍵入的“services.msc”的那種。 

tomcat虛擬主機(jī)怎么配置 

  在服務(wù)(<service>)下會(huì)有各種連接器(<connector>),如上面體系結(jié)構(gòu)圖所示,其中和瀏覽器打交道的連接器(<connector>)定義了連接協(xié)議(protocol),連接端口(port),連接超時(shí)(connectiontimeout)等等屬性,當(dāng)然還要?jiǎng)e的用途的連接器。

tomcat虛擬主機(jī)怎么配置  

  在服務(wù)(<service>)下除了各種連接器(<connector>),還有一個(gè)引擎(<engine>),當(dāng)瀏覽器將一些請(qǐng)求發(fā)來(lái)時(shí)就通過(guò)連接器(<connector>)交給引擎(<engine>),引擎(<engine>)中可以包含一個(gè)或多個(gè)虛擬主機(jī)(<host>),而引擎也規(guī)定了哪個(gè)虛擬主機(jī)是默認(rèn)訪問(wèn)的。 

tomcat虛擬主機(jī)怎么配置 

  引擎(<engine>)通過(guò)尋找指定的虛擬主機(jī)(<host>)將請(qǐng)求交給它,然后由虛擬主機(jī)(<host>)來(lái)尋找是哪個(gè)web應(yīng)用,虛擬主機(jī)(<host>)定義了瀏覽器需輸入的主機(jī)名稱、web應(yīng)用存放的位置,和別的一些屬性等等 

tomcat虛擬主機(jī)怎么配置 

  而至于何種web應(yīng)用就要看采用哪種虛擬目錄映射了,如果是添加<context>,那么一個(gè)<context>標(biāo)簽就代表一個(gè)web應(yīng)用  

tomcat虛擬主機(jī)怎么配置

  或者是直接將web應(yīng)用所在目錄放在<host>標(biāo)簽指定的路徑,那么就沒(méi)有<context>標(biāo)簽來(lái)代表該web應(yīng)用

讀到這里,這篇“tomcat虛擬主機(jī)怎么配置”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI