Tomcat釋出網站知識集錦

hkmexu發表於2009-09-14

修改埠、修改預設釋出目錄、多域名繫結

 

一、修改釋出埠號為80Tomcat預設為8080

    開啟配置檔案(我的如下:E:\J2EEServer\Tomcat 6.0\conf\server.xml),找到

<Connector port="8080" protocol="HTTP/1.1"

             maxThreads="150" connectionTimeout="20000"

             redirectPort="8443" />

修改後:

<Connector port="80" protocol="HTTP/1.1"

             maxThreads="150" connectionTimeout="20000"

             redirectPort="8443" />

其實這裡就是把port:8080,修改成port:80就可以了,其他的引數不變。這樣客戶機在訪問伺服器時直接輸入IP或域名就可以了。

 

二、修改tomcat的字符集

大家在寫程式中應該都遇到過中文亂碼的問題,除了保證頁面、資料庫的字符集保持一致外還有一點需要注意,就是tamcat的字符集。有時從頭到尾的檢查程式,發現程式一切正常,可就是有亂碼,看看Tomcat的字符集吧!找到E:\Tomcat 6.0\conf\server.xml

<Connector port="80" protocol="HTTP/1.1"

             maxThreads="150" connectionTimeout="20000"

             redirectPort="8443" />

修改後:

<Connector port="80" protocol="HTTP/1.1"

             maxThreads="150" connectionTimeout="20000"

             redirectPort="8443" URIEncoding="UTF-8"/>

 

三、修tomcat釋出路徑(預設路徑:E:\J2EEServer\Tomcat 6.0\webapps\ROOT

    開啟配置檔案(我的在:E:\J2EEServer\Tomcat 6.0\conf\server.xml),找到:

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

<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">     

</Host>

</Engine>

<host></host>標籤之間新增上:

<Context path="" docBase="photo" debug="0" reloadable="true" />

path是說明虛擬目錄的名字,如果你要只輸入ip地址就顯示主頁,則該鍵值留為空;

docBase是虛擬目錄的路徑,它預設的是$tomcat/webapps/ROOT目錄,現在我在webapps目錄下建了一個photo目錄,讓該目錄作為我的預設目錄。debugreloadable一般都分別設定成0true

這樣,再訪問伺服器時就找$tomcat/webapps/photo下的頁面了~~~~~

 

三、多域名繫結

開啟配置檔案(我的如下:D:\Program Files\Tomcat\conf\server.xml),找到:

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

<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">     

    </Host>

</Engine>

 

方案一:多個工程在不同的目錄下

<Engine name="Catalina" defaultHost="pic.niejingyu.com">

    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

             resourceName="UserDatabase"/>

 

    <Host name="xixi.niejingyu.com"  appBase="abcapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

</Host>

 

    <Host name="haha.niejingyu.com"  appBase="D:\Program Files\Tomcat\test"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

</Host>

 

    <Host name="lala.niejingyu.com"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

    </Host>

</Engine>

 

測試在C:\WINDOWS\system32\drivers\etc下的hosts檔案中新增如下內容:

127.0.0.1 xixi.niejingyu.com

127.0.0.1 lala.niejingyu.com

127.0.0.1 haha.niejingyu.com

 

按照上面的配置:

1. http://xixi.niejingyu.com 訪問 ${tomcat}\ abcapps\ROOT 下的網站

2. http://haha.niejingyu.com 訪問 D:\Program Files\Tomcat\test\ROOT 下的網站

3. http://lala.niejingyu.com 訪問 ${tomcat}\webapps\ROOT 下的網站.

 

EnginedafaultHost:表示訪問該tomcat預設進入的主機,注意一定不能是localhost,不然別人通過你的ip訪問,就會預設進入tomcat的管理介面.

Host name:表示該主機繫結的域名,如果繫結localhost則可以通過在瀏覽器中輸入localhost訪問該Host.

Host appBase:表示該主機繫結的檔案存放路徑,可以使用相對路徑或絕對路徑.

 

方案二:多個工程在同一目錄webapps下,即在不同的<host></host>裡面配<Context>

<Engine name="Catalina" defaultHost="xixi.niejingyu.com">

    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

        resourceName="UserDatabase"/>

 

    <Host name="xixi.niejingyu.com"  appBase="webapps"

        unpackWARs="true" autoDeploy="true"

        xmlValidation="false" xmlNamespaceAware="false">

       <Context path="" docBase="test1" debug="0" reloadable="true" />

</Host>

 

<Host name="haha.niejingyu.com"  appBase="webapps"

        unpackWARs="true" autoDeploy="true"

        xmlValidation="false" xmlNamespaceAware="false">

       <Context path="" docBase="test2" debug="0" reloadable="true" />

</Host>

 

<Host name="lala.niejingyu.com"  appBase="webapps"

        unpackWARs="true" autoDeploy="true"

        xmlValidation="false" xmlNamespaceAware="false">

       <Context path="" docBase="test3" debug="0" reloadable="true" />

</Host>

 

測試:

http://xixi.niejingyu.com 訪問的是 ${tomcati}\webapps\test1下的網站

http://haha.niejingyu.com訪問的是 ${tomcati}\webapps\test2下的網站

http://lala.niejingyu.com訪問的是 ${tomcati}\webapps\test3下的網站

 

相關文章