Centos環(huán)境下Tomcat虛擬主機(jī)配置詳細(xì)教程
最近在折騰 Tomcat 的時(shí)候,遇到了一個(gè)需求:需要在一臺(tái)服務(wù)器上跑多個(gè)網(wǎng)站,每個(gè)網(wǎng)站用不同的域名訪(fǎng)問(wèn)。乍一看,這不就是虛擬主機(jī)的活兒嘛!但對(duì) Tomcat 的虛擬主機(jī)配置不太熟,查了不少資料,踩了幾個(gè)坑,終于搞定了。于是就想著把整個(gè)過(guò)程整理下來(lái),分享給有類(lèi)似需求的小伙伴,希望能少走彎路。
這篇文章主要講的是在 CentOS 系統(tǒng)上,如何一步步配置 Tomcat 的虛擬主機(jī)。內(nèi)容很簡(jiǎn)單,從目錄準(zhǔn)備到配置文件修改,再到重啟和測(cè)試,手把手帶你搞定。
1. 準(zhǔn)備虛擬主機(jī)的目錄和內(nèi)容
為每個(gè)虛擬主機(jī)創(chuàng)建獨(dú)立的目錄,并放置測(cè)試文件。

創(chuàng)建目錄
mkdir -p /var/www/site1 mkdir -p /var/www/site2
添加測(cè)試文件
echo "Welcome to Site 1" > /var/www/site1/index.html echo "Welcome to Site 2" > /var/www/site2/index.html
2. 修改 Tomcat 的 server.xml 配置文件
編輯 Tomcat 的 server.xml 文件:
vim $CATALINA_HOME/conf/server.xml
找到 <Engine> 標(biāo)簽(通常在 <Service name="Catalina"> 下),并在其中添加兩個(gè) <Host> 配置塊。
修改后的配置示例:

<Engine name="Catalina" defaultHost="localhost">
<!-- 默認(rèn)的 localhost 配置 -->
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="${catalina.home}/webapps/ROOT" />
</Host>
<!-- 虛擬主機(jī) 1 -->
<Host name="www.site1.com" appBase="" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/var/www/site1" />
</Host>
<!-- 虛擬主機(jī) 2 -->
<Host name="www.site2.com" appBase="" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/var/www/site2" />
</Host>
</Engine>配置說(shuō)明
name:虛擬主機(jī)的域名,例如www.site1.com和www.site2.com。appBase:設(shè)置為空字符串"",因?yàn)槲覀冎苯又付?nbsp;docBase。 對(duì)應(yīng)應(yīng)用部署的目錄docBase:虛擬主機(jī)的文檔根目錄,分別為/var/www/site1和/var/www/site2。path:設(shè)置為"",表示虛擬主機(jī)的根路徑(/)。
補(bǔ)充說(shuō)明:Engine節(jié)點(diǎn) 是核心組件之一 用于管理虛擬主機(jī) 下面可以定義多個(gè)host節(jié)點(diǎn)
訪(fǎng)問(wèn)測(cè)試

4. 重啟 Tomcat
重新啟動(dòng) Tomcat 以應(yīng)用新的配置:
$CATALINA_HOME/bin/shutdown.sh $CATALINA_HOME/bin/startup.sh
5. 測(cè)試虛擬主機(jī)
在瀏覽器中訪(fǎng)問(wèn)以下地址:
訪(fǎng)問(wèn) http://www.site1.com:8080,應(yīng)顯示 Welcome to Site 1。
訪(fǎng)問(wèn) http://www.site2.com:8080,應(yīng)顯示 Welcome to Site 2。
注意事項(xiàng)
- 防火墻配置 如果您的 Tomcat 運(yùn)行在非默認(rèn)端口(如 80),需要確保防火墻允許該端口的流量。
firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload
- DNS 配置 如果在生產(chǎn)環(huán)境中使用,需要在 DNS 服務(wù)器中配置
www.site1.com和www.site2.com的域名解析到服務(wù)器的公網(wǎng) IP。 - 生產(chǎn)環(huán)境建議
- 使用 Apache 或 Nginx 作為反向代理,將域名請(qǐng)求轉(zhuǎn)發(fā)到 Tomcat 的虛擬主機(jī)配置 HTTPS 以保證安全性。
總結(jié)
搞定之后回頭看,其實(shí)配置 Tomcat 虛擬主機(jī)并不難,關(guān)鍵是要細(xì)心,別漏掉小細(xì)節(jié)。比如:
- 目錄路徑:一定要確認(rèn)
docBase指向的目錄存在,并且權(quán)限設(shè)置正確。 - 防火墻:別忘了開(kāi)放 Tomcat 的端口,不然你本地測(cè)得好好的,外網(wǎng)卻訪(fǎng)問(wèn)不了。
- DNS 配置:如果是線(xiàn)上環(huán)境,域名解析必須指向服務(wù)器的公網(wǎng) IP。
- 安全性:生產(chǎn)環(huán)境建議用 Nginx 或 Apache 做反向代理,別直接暴露 Tomcat,順便把 HTTPS 配置上。
以上就是Centos環(huán)境下Tomcat虛擬主機(jī)配置詳細(xì)教程的詳細(xì)內(nèi)容,更多關(guān)于Tomcat虛擬主機(jī)配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Maven使用tomcat8-maven-plugin插件的詳細(xì)教程
這篇文章主要介紹了Maven使用tomcat8-maven-plugin插件的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
解決Tomcat使用shutdown.bat關(guān)閉會(huì)將其他Tomcat關(guān)掉的問(wèn)題
這篇文章主要介紹了解決Tomcat使用shutdown.bat關(guān)閉會(huì)將其他Tomcat關(guān)掉的問(wèn)題 ,解決方法很簡(jiǎn)單,具體內(nèi)容詳情大家跟隨小編一起通過(guò)本文學(xué)習(xí)吧2018-10-10
解決運(yùn)行Tomcat之后仍然出現(xiàn)404的問(wèn)題
這篇文章主要介紹了解決運(yùn)行Tomcat之后仍然出現(xiàn)404的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Tomcatc3p0配置jnid數(shù)據(jù)源2種實(shí)現(xiàn)方法解析
這篇文章主要介紹了Tomcatc3p0配置jnid數(shù)據(jù)源2種實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
Tomcat的安裝與使用及Maven與Servlet的使用教程
這篇文章主要介紹了Tomcat的安裝與使用及Maven與Servlet的使用教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07

