Tomcat虛擬主機配置詳解:Centos環境下多域名部署(詳細教程!)

Tomcat虛擬主機配置詳解:Centos環境下多域名部署(詳細教程!)


最近在折騰 Tomcat 的時候,遇到了一個需求:需要在一臺伺服器上跑多個網站,每個網站用不同的域名訪問。乍一看,這不就是虛擬主機的活兒嘛!但對 Tomcat 的虛擬主機配置不太熟,查了不少資料,踩了幾個坑,終於搞定了。於是就想著把整個過程整理下來,分享給有類似需求的小夥伴,希望能少走彎路。
這篇文章主要講的是在 CentOS 系統上,如何一步步配置 Tomcat 的虛擬主機。內容很簡單,從目錄準備到配置檔案修改,再到重啟和測試,手把手帶你搞定。

1. 準備虛擬主機的目錄和內容

為每個虛擬主機建立獨立的目錄,並放置測試檔案。

建立目錄
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:設定為空字串 "",因為我們直接指定了 docBase。 對應應用部署的目錄
  • • docBase:虛擬主機的文件根目錄,分別為 /var/www/site1 和 /var/www/site2
  • • path:設定為 "",表示虛擬主機的根路徑(/)。
補充說明:Engine節點 是核心元件之一 用於管理虛擬主機 下面可以定義多個host節點

訪問測試


4. 重啟 Tomcat

重新啟動 Tomcat 以應用新的配置:
$CATALINA_HOME/bin/shutdown.sh
$CATALINA_HOME/bin/startup.sh


5. 測試虛擬主機

在瀏覽器中訪問以下地址:
訪問 http://www.site1.com:8080,應顯示 Welcome to Site 1
訪問 http://www.site2.com:8080,應顯示 Welcome to Site 2

注意事項

  1. 1. 防火牆配置 如果您的 Tomcat 執行在非預設埠(如 80),需要確保防火牆允許該埠的流量。
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

  1. 1. DNS 配置 如果在生產環境中使用,需要在 DNS 伺服器中配置 www.site1.com 和 www.site2.com 的域名解析到伺服器的公網 IP。
  2. 2. 生產環境建議
    • • 使用 Apache 或 Nginx 作為反向代理,將域名請求轉發到 Tomcat 的虛擬主機配置 HTTPS 以保證安全性。

總結

搞定之後回頭看,其實配置 Tomcat 虛擬主機並不難,關鍵是要細心,別漏掉小細節。比如:
  • • 目錄路徑:一定要確認 docBase 指向的目錄存在,並且許可權設定正確。
  • • 防火牆:別忘了開放 Tomcat 的埠,不然你本地測得好好的,外網卻訪問不了。
  • • DNS 配置:如果是線上環境,域名解析必須指向伺服器的公網 IP。
  • • 安全性:生產環境建議用 Nginx 或 Apache 做反向代理,別直接暴露 Tomcat,順便把 HTTPS 配置上。
連結:https://blog.csdn.net/jxjdhdnd/article/details/146340625?spm=1001.2014.3001.5502
(版權歸原作者所有,侵刪)
文末福利
就目前來說,傳統運維衝擊年薪30W+的轉型方向就是SRE&DevOps崗位。
為了幫助大家早日擺脫繁瑣的基層運維工作,給大家整理了一套高階運維工程師必備技能資料包,內容有多詳實豐富看下圖!
共有 20 個模組
1.38張最全工程師技能圖譜
2.面試大禮包
3.Linux書籍
4.go書籍
······
6.自動化運維工具
18.訊息佇列合集
 以上所有資料獲取請掃碼
備註:最新運維資料
100%免費領取
(後臺不再回復,掃碼一鍵領取


相關文章