• tomcat 虛擬主機是什么意思?

    tomcat虛擬主機配置的方法有哪些?

    已邀請:

    薇好運 - http://www.tuidc.com 騰佑科技IDC服務商

    目前,在網絡開發領域,JavaEE開發技術逐漸應用于多個項目領域,通常一臺服務器對外可以訪問多個JavaEE的項目,但是需要在tomcat虛擬主機配置環境來實現。那么,如何配置tomcat虛擬主機?

    一、打開tomcat安裝目錄下conf/server.xml這個文件

    在server.xml文檔中找到

    </Engine>

    </Service>

    接著添加上面添加以下內容(暫時先說分為三種方式):

    第一種:

    <Host name="www.linuxidc.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false"  xmlNamespaceAware="false"> 
    <Context path="" docBase="www" debug="0" reloadable="true" crossContext="true"/>  
    <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_5sai_log." suffix=".txt" 
    timestamp="true"/> 

    </Host>

    第二種:

    <Host name="host.enkj.com" debug="0" appBase="C:\\test\www" unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="."/>       
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  prefix="test_5sai_access_log."
    suffix=".txt" pattern="common" resolveHosts="false"/>
    <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="test_5sai_log." suffix=".txt" timestamp="true"/>

    </Host>

    以上內容的意思就是在C盤test文件夾下面建立一個www文件夾作為host.enkj.com這個域名的主目錄

    第三種,如果是linux系統的/var/www作為host.enkj.com這個域名的主目錄的話內容如下:

    <Host name="host.enkj.com" debug="0" appBase="/var/www" unpackWARs="true" autoDeploy="true">
    <Context path="" docBase="."/>       
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  prefix="test_5sai_access_log."
    suffix=".txt" pattern="common" resolveHosts="false"/>
    <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"  prefix="test_5sai_log." suffix=".txt" timestamp="true"/>

    </Host>

    再補充一種

    <Host  name="www.linuxidc.com"  debug="0"  unpackWARs="true">  
    <Valve  className="org.apache.catalina.valves.AccessLogValve"  
    directory="/var/log/tomcat"    prefix="www_5sai_access_log."  suffix=".txt"  
    pattern="common"/>  
    <Logger  className="org.apache.catalina.logger.FileLogger"  
    directory="/var/log/tomcat"    prefix="www_5sai_log."  suffix=".txt"  
    timestamp="true"/>  
    <Context  path=""  docBase="/var/www"  debug="0"  reloadable="true"/>  

    </Host>

    域名www.linuxidc.com的主目錄為/var/www 該站點的所有訪問LOG放在/ar/log/tomcat里面

    測試:

    windows用戶打開C:\WINDOWS\system32\drivers\etc的hosts這個文件,linux用戶打開/ect的hosts文件或者vi /ect/hosts

    小編自己也嘗試了配置tomcat虛擬主機的過程:

    首先找到tomcat的安裝目錄,到TOMCAT_HOME/apache-tomcat7/conf目錄下,找到server.xml這個文件,打開該文件,在該文件中找到關于Engine這個子節點

    [html] view plaincopy

    1 <Engine name="Catalina" defaultHost="localhost">  

    上面的配置了一個defaultHost中的localhost表示為默認的訪問方法!  我們需要配置自己的記住就需要在Engine節點中添加Host節點,默認的有一個host如下:

    [html] view plaincopy

    2 <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">  

    這個里面的name表示的是訪問本地的localhost地址,appBase表示項目指定的父位置,當前的webapps代表:TOMCAT_HOME/apache-tomcat7/webapps這個位置,這個位置也是tomcat的默認的存放javaEE項目位置!

    下面是我自己配置的一個虛擬主機:

    [html] view plaincopy

    3 <Host name="host.enkj.com" appBase="/var/JavaServer/test" unpackWARs="true" autoDeploy="true">      

    4             <Alias>abc.com</Alias>    

    5             <Context path="/hello" docBase="/var/www/html/hello" debug="0" privileged="true"/>   

    6         </Host>  

    這里詳細介紹一下:Host節點代表為一個虛擬主機,name表示需要訪問的域名,這個域名是已經注冊的域名!當前配置的域名:host.enkj.com  在Host下有一個子節點,叫Alias,這個里面配置的是  另外一個域名,就是說,一個虛擬主機,可以使用多個域名!那么訪問host.enkj.com  和abc.com是一樣的!

    appBase需要你指定的項目父路徑,在當前的路徑下可以存放多個項目  ,我們可以把項目打包或者放文件夾放在/var/JavaServer/test這個目錄下

    unpackWARs="true"  表示當發現在/var/JavaServer/test有打包的war項目的話,就開啟解壓功能!

    autoDeploy="true"    表示支持熱部署!

    下面講一下在Host節點下的Context節點,這個就是部署一個項目,但是這個項目不是在appBase目錄下,他的路徑在/var/www/html/hello這個目錄下,path表示對外訪問的名稱, 這樣使得tomcat更靈活多變 !


    要回復問題請先登錄注冊

    嘿,進入會員專區!
    星光彩票平台