首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Tomcat 配置虛擬主機實戰:共享 IP 多域名部署指南

     編輯:Java 相關知識

場景與前置條件

  • 單台服務器、單一公網 IP,部署多個域名站點(如 www.site1.com、www.site2.com)。
  • 測試環境修改 hosts 文件解析域名;生產環境需配置 DNS 解析。

目錄結構準備

tomcat/
├── webapps1/   # site1 應用根目錄
│   └── ROOT/
│       └── test.html
├── webapps2/   # site2 應用根目錄
│   └── ROOT/
│       └── test.html
└── conf/server.xml

將原 webapps 複製為 webapps1、webapps2,分別放置站點文件。test.html 內容區分顯示當前域名。

server.xml 核心配置

<Engine name="Catalina" defaultHost="www.site1.com">
    <!-- Host 1 -->
    <Host name="www.site1.com" appBase="webapps1"
          unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve"
             directory="logs" prefix="site1_access_log." suffix=".txt"
             pattern="common" resolveHosts="false"/>
        <Logger className="org.apache.catalina.logger.FileLogger"
              directory="logs" prefix="site1_log." suffix=".txt"
              timestamp="true"/>
    </Host>

    <!-- Host 2 -->
    <Host name="www.site2.com" appBase="webapps2"
          unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve"
             directory="logs" prefix="site2_access_log." suffix=".txt"
             pattern="common" resolveHosts="false"/>
        <Logger className="org.apache.catalina.logger.FileLogger"
              directory="logs" prefix="site2_log." suffix=".txt"
              timestamp="true"/>
    </Host>
</Engine>

關鍵屬性說明

屬性作用
name域名,必須與 DNS/hosts 一致
appBase該虛擬主機 Web 應用根目錄(相對 $CATALINA_HOME)
unpackWARstrue 自動解壓 WAR 包
autoDeploytrue 熱部署監控
Valve (AccessLogValve)訪問日志,按虛擬主機分離文件前綴
Logger (FileLogger)內部日志,按虛擬主機分離

驗證

啟動 Tomcat,瀏覽器訪問:

  • https://www.site1.com:8080/test.html → 顯示 site1 內容
  • https://www.site2.com:8080/test.html → 顯示 site2 內容

若均正確,虛擬主機配置成功。

補充:獨立 IP 模式

每個虛擬主機綁定獨立 IP,適用於郵件服務器需求(SSL 證書、反向解析)。配置時在 <Connector> 指定 address,<Host> 不變。本文專注共享 IP 模式(IDC 主流)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved