Centos環(huán)境下Tomcat虛擬主機配置詳細教程
最近在折騰 Tomcat 的時候,遇到了一個需求:需要在一臺服務(wù)器上跑多個網(wǎng)站,每個網(wǎng)站用不同的域名訪問。乍一看,這不就是虛擬主機的活兒嘛!但對 Tomcat 的虛擬主機配置不太熟,查了不少資料,踩了幾個坑,終于搞定了。于是就想著把整個過程整理下來,分享給有類似需求的小伙伴,希望能少走彎路。
這篇文章主要講的是在 CentOS 系統(tǒng)上,如何一步步配置 Tomcat 的虛擬主機。內(nèi)容很簡單,從目錄準備到配置文件修改,再到重啟和測試,手把手帶你搞定。
1. 準備虛擬主機的目錄和內(nèi)容
為每個虛擬主機創(chuàng)建獨立的目錄,并放置測試文件。
創(chuàng)建目錄
mkdir -p /var/www/site1 mkdir -p /var/www/site2
添加測試文件
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>
標簽(通常在 <Service name="Catalina">
下),并在其中添加兩個 <Host>
配置塊。
修改后的配置示例:
<Engine name="Catalina" defaultHost="localhost"> <!-- 默認的 localhost 配置 --> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="${catalina.home}/webapps/ROOT" /> </Host> <!-- 虛擬主機 1 --> <Host name="www.site1.com" appBase="" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/var/www/site1" /> </Host> <!-- 虛擬主機 2 --> <Host name="www.site2.com" appBase="" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/var/www/site2" /> </Host> </Engine>
配置說明
name
:虛擬主機的域名,例如www.site1.com
和www.site2.com
。appBase
:設(shè)置為空字符串""
,因為我們直接指定了docBase
。 對應(yīng)應(yīng)用部署的目錄docBase
:虛擬主機的文檔根目錄,分別為/var/www/site1
和/var/www/site2
。path
:設(shè)置為""
,表示虛擬主機的根路徑(/
)。
補充說明:Engine節(jié)點 是核心組件之一 用于管理虛擬主機 下面可以定義多個host節(jié)點
訪問測試
4. 重啟 Tomcat
重新啟動 Tomcat 以應(yīng)用新的配置:
$CATALINA_HOME/bin/shutdown.sh $CATALINA_HOME/bin/startup.sh
5. 測試虛擬主機
在瀏覽器中訪問以下地址:
訪問 http://www.site1.com:8080
,應(yīng)顯示 Welcome to Site 1
。
訪問 http://www.site2.com:8080
,應(yīng)顯示 Welcome to Site 2
。
注意事項
- 防火墻配置 如果您的 Tomcat 運行在非默認端口(如 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 作為反向代理,將域名請求轉(zhuǎn)發(fā)到 Tomcat 的虛擬主機配置 HTTPS 以保證安全性。
總結(jié)
搞定之后回頭看,其實配置 Tomcat 虛擬主機并不難,關(guān)鍵是要細心,別漏掉小細節(jié)。比如:
- 目錄路徑:一定要確認
docBase
指向的目錄存在,并且權(quán)限設(shè)置正確。 - 防火墻:別忘了開放 Tomcat 的端口,不然你本地測得好好的,外網(wǎng)卻訪問不了。
- DNS 配置:如果是線上環(huán)境,域名解析必須指向服務(wù)器的公網(wǎng) IP。
- 安全性:生產(chǎn)環(huán)境建議用 Nginx 或 Apache 做反向代理,別直接暴露 Tomcat,順便把 HTTPS 配置上。
以上就是Centos環(huán)境下Tomcat虛擬主機配置詳細教程的詳細內(nèi)容,更多關(guān)于Tomcat虛擬主機配置的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
tomcat默認最大連接數(shù)與調(diào)整的方法示例
本文主要介紹了tomcat默認最大連接數(shù)與調(diào)整的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Tomcat無法映射到activiti-app導(dǎo)致activiti無法啟動頁面的解決方法
這篇文章主要介紹了Tomcat無法映射到activiti-app導(dǎo)致activiti無法啟動頁面的解決方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-11-11詳解關(guān)于tomcat切割catalina.out日志的三種方式
這篇文章主要介紹了詳解關(guān)于tomcat切割catalina.out日志的三種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02tomcat雙擊startup.bat一閃而過(閃退)的問題解決
本文主要介紹了tomcat雙擊startup.bat一閃而過(閃退)的問題解決,可能是tomcat找不到你的jdk環(huán)境配置路徑,下面就來介紹一下解決方法,感興趣的可以了解一下2024-05-05