日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Tomcat的Server.xml虛擬主機和虛擬目錄的配置

 燮羽 2010-10-29

以前開發(fā)JavaEE網(wǎng)站都布置在Tomcat下,布置目錄一般為$CATALINA_HOME/webapps/WebName,所以要訪問網(wǎng)站,則在http://localhost后必須要加上上下文路徑(ContextPath)/WebName,而運行環(huán)境一般為http://www.,上下文路徑為空。這樣就造成了開發(fā)環(huán)境與運行環(huán)境的差異,雖然在JSP中可以通過<%=request.getContextPath()%>解決,但如果換成其它模板,比如Velocity,就又不行了。

本文通過參考各大網(wǎng)友的做法以及自己的親身實踐,成功地在Tomcat下設(shè)置多個虛擬主機和多個虛擬目錄,寫出來以供各網(wǎng)友參考和自己做個筆記。

Tomcat 5和Tomcat 6的配置文件為:$CATALINA_HOME/conf/server.xml,其它的版本的Tomcat的配置文件沒有用過。

注意以下的一,二,……步驟不是順序的,是可以選擇的。

說明:虛擬主機在server.xml為Host,虛擬目錄為Context。

一、修改端口
Tomcat默認(rèn)的WEB端口為8080,我一般喜歡把它改成80,當(dāng)然這是完全沒有必要的
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
注意是修改HTTP協(xié)議的,也就是protocol="HTTP/1.1"的,不是其他的。

二、增加虛擬目錄
1、最簡單的方式:直接把JavaEE網(wǎng)站放在$CATALINA_HOME/webapps目錄下了,然后通過http://localhost/WebName,WebName為網(wǎng)站的目錄名;

2、自定義:把網(wǎng)站放在其它的目錄下,比如放在/var/www/webapp目錄下,那么就要修改server.xml了。
</Host>前增加以下內(nèi)容即可:
<Context path="/SpringMVC" docBase="/var/www/webapp/SpringMVC" workDir="/var/www/webtmp/SpringMVC" debug="5" reloadable="false" crossContext="true" />
則可以通過http://localhost/SpringMVC訪問了,也就是在主機名為localhost中增加了一個名為SpringMVC的虛擬目錄了,當(dāng)然,這里的名字完全依個人而定的。

三、增加虛擬主機
其實這才是本文要說的重點,也就是本文開頭說的那種案例。我們每開發(fā)一個網(wǎng)站,都是通過http://localhost/WebName的形式訪問,是不是很麻煩?

1、修改hosts文件,增加主機名
(1)Linux系統(tǒng)的hosts文件為/etc/hosts
(2)Windows系統(tǒng)的hosts文件為C:\WINDOWS\system32\drivers\etc\hosts
比如你想增加www.local.com主機,則在此文件中增加一行:127.0.0.1 www.local.com,也就是說當(dāng)你訪問www.local.com時,其實是訪問127.0.0.1;
我比較喜歡簡短的域名,所以我增加的是:127.0.0.1 SpringMVC

2、修改配置文件
在</Host>后再增加一個Host結(jié)點:
<Host name="SpringMVC" appBase="/var/www/webapp/SpringMVC" unpackWARs="true" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false" />
即增加了一個名為SpringMVC的虛擬主機,當(dāng)然也可以是name="www.local.com",這個根據(jù)具體情況定。
這樣,訪問的IP就是:http://SpringMVC了。

3、目錄設(shè)置
主機SpringMVC的WEB文件全放在/var/www/webapp/SpringMVC目錄下,在該目錄下增加ROOT目錄,放入你的JavaEE網(wǎng)站工程,這樣,你就可以通過http://SpringMVC訪問你的網(wǎng)站了,后面少了/SpringMVC這個字串,在IP上與運行環(huán)境保持了一致。

四、其它問題
通過http://SpringMVC訪問的是SpringMVC網(wǎng)站;
通過http://localhost訪問的是Tomcat自帶的網(wǎng)站;
我們在hosts文件中已經(jīng)知道,SpringMVC和localhost都對應(yīng)的IP是:127.0.0.1
那么,通過http://127.0.0.1訪問的是那個網(wǎng)站呢?

在Host的父節(jié)點是:<Engine name="Catalina" defaultHost="SpringMVC">
從上可以看出,defaultHost="SpringMVC"決定了127.0.0.1訪問哪個網(wǎng)站,我的設(shè)置是訪問SpringMVC

本文到此就要結(jié)束了,貼上我的server.xml文件內(nèi)容:
<?xml version="1.0" encoding="utf-8" ?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener"
   SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

<GlobalNamingResources>
   <Resource name="UserDatabase" auth="Container"
    type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved"
    factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
    pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>

<Service name="Catalina">
   <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"
    redirectPort="8443" />
   <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
   <Engine name="Catalina" defaultHost="SpringMVC">
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
     resourceName="UserDatabase" />
    <Host name="localhost" appBase="webapps" unpackWARs="true"
     autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
     <!--HelloMule-->
     <!--
      <Context path="/mule" docBase="/var/www/webapp/Mule"
      workDir="/var/www/webtemp/Mule" debug="5" reloadable="false"
      crossContext="true" />
     -->
    </Host>
    <Host name="SpringMVC" appBase="/var/www/webapp/SpringMVC"
     unpackWARs="true" autoDeploy="false" xmlValidation="false"
     xmlNamespaceAware="false" />
   </Engine>
</Service>
</Server>

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多