tomcat能夠實現:多個端口訪問同一個web應用、不一樣的應用經過不一樣的域名進行訪問。html
本文介紹的都是隻啓動一個tomcat服務的狀況下,固然,實現這些功能也能夠經過啓動多個tomcat服務實現。web
百度經驗:jingyan.baidu.comapache
tomcat(以tomcat7.0.50爲例)tomcat
兩個用於測試的web應用安全
百度經驗:jingyan.baidu.com服務器
1app
說明:這個部分介紹如何在tomcat中進行配置,使同一個應用能夠經過不一樣的端口號進行訪問。dom
在某些須要進行安全控制的場景中會應用到。例如:不一樣地址段只能經過某個端口訪問。webapp
2工具
找到tomcat的主目錄,打開conf文件夾,找到並打開server.xml文件。
編輯server.xml文件,在<Service></Service>標籤中添加:
<Connector port="9090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
如圖:
3
進行步驟2中的配置,多端口就完成了,保存並啓動tomcat。
使用8080端口訪問的效果圖:
4
使用9090端口訪問的效果圖:
這樣,就實現了不一樣的端口號訪問到同一個應用程序了。若是還想在其餘端口進行監聽,就把步驟2中的內容多添加幾個就好了。
END
百度經驗:jingyan.baidu.com
1
說明:在同一個端口號的狀況下,tomcat能夠配置不一樣的域名對應不一樣的應用程序。
可是,我不肯定「域名管理服務器」是否支持2個不一樣的域名映射到同一個IP地址的同一個端口。
2
找到tomcat的主目錄,打開conf文件夾,找到並打開server.xml文件。
編輯server.xml文件,在<Service></Service>標籤中添加:
<Host name="www.domain2.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/myweb2"/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>
如圖:
3
進行步驟2中的配置,保存並啓動tomcat。
便可實現使用domain1訪問到web1;使用domain2訪問到web2。
END
百度經驗:jingyan.baidu.com
1
說明:相對於第二種狀況,目前的狀況應該是應用得很廣泛的。
2
找到tomcat的主目錄,打開conf文件夾,找到並打開server.xml文件。
編輯server.xml文件,把<Service>...</Service>標籤拷貝一份,對Service name、監聽端口、域名名稱、默認加載的應用 進行修改。
如圖:
3
進行步驟2中的配置,保存並啓動tomcat。
便可實現使用domain1訪問到web1;使用domain2訪問到web2。
4
說明:第三種狀況與第二種狀況最大的區別就在因而使用另外一個端口號,這也是廣泛的狀況吧。(不一樣的域名映射到不一樣的端口)
END
百度經驗:jingyan.baidu.com
1、Tomcat 安裝後自己提供了一個server,端口配置默認是8080,對應目錄爲:..\Tomcat 6.0\webapps
2、Tomcat 6.0 配置多個端口,其實也就是給Tomcat增長几個server,並設置對應目錄。下面以增長兩個端口號爲例
第一步、修改server.xml[..\Tomcat 6.0\conf]
(1)Tomcat提供的以下:
Xml代碼
<Service name="Catalina">
<Connector port="8090" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
<Service name="Catalina"> <Connector port="8090" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> <Engine name="Catalina" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service>
(2)比着上面的葫蘆畫下面的瓢、新增兩個端口號,注意Service name、Engine name、appBase,
固然了,端口號別忘了修改,以避免重複。
Xml代碼
<Service name="Catalina1">
<Connector port="8091" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<Engine name="Catalina1" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps1"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
<Service name="Catalina1"> <Connector port="8091" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> <Engine name="Catalina1" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="localhost" appBase="webapps1" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service>
Xml代碼
<Service name="Catalina2">
<Connector port="8092" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
<Engine name="Catalina2" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps2"<!-- 這個地方很重要,我今天沒修改這個,致使webapps下的幾個應用均可以用多個端口訪問,結果只好將默認的webapps下的應用拷到其餘地方,在${tomcat_home}/conf/下建立Catalina2/localhost/,並建立不一樣的xml文件將docBase指向應用所在的路徑-->
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
<Service name="Catalina2"> <Connector port="8092" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> <Engine name="Catalina2" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="localhost" appBase="webapps2"<!-- 這個地方很重要,我今天沒修改這個,致使webapps下的幾個應用均可以用多個端口訪問,結果只好將默認的webapps下的應用拷到其餘地方,在${tomcat_home}/conf/下建立Catalina2/localhost/,並建立不一樣的xml文件將docBase指向應用所在的路徑--> unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service>
第二步、建立相應的部署目錄
..\Tomcat 6.0\webapps1
..\Tomcat 6.0\webapps2
同時能夠將Tomcat 6.0\webapps下的有用的複製到新建的部署目錄
第三步、建立配置文件目錄和配置文件
..\Tomcat 6.0\conf\Catalina1\localhost
..\Tomcat 6.0\conf\Catalina2\localhost
host-manager.xml
manager.xml
配置文件的配置可參照..\Tomcat 6.0\conf\Catalina\localhost下的,只須要修改一下對應目錄便可
大概的配置步驟就是這些,如今能夠把不一樣的war包放在不一樣的位置來訪問了
以上配置方法一樣適合Tomcat 5.5
要使用域名訪問,用戶得先去得到域名地址。
經過域名管理服務,域名地址要被解析成IP地址+端口號。