標籤:
環境:Tomcat7.0.55
Tomcat下搭建同IP不同連接埠的多網站
Tomcat多使用在開發環境裡,但有時也做生產環境。在生產環境下多會碰到,需要在一個tomcat下放置多個網站的情況。有時還需要同時開啟多個不同的連接埠,接受多個網域名稱請求的情況。通常這種情況會開啟多個tomcat執行個體。這種方法有如下利弊:
優點:1.每個網站相互獨立,互相不受幹擾。不會因為一個網站繁忙導致,其它網站受影響。2.可以對tomcat,做高度自訂。當需要做一些對容器不安全的情況下。為保證其它網站不受影響,可以使用這種情況。如:需要開啟自訂線程。
缺點:1.浪費系統資源,雖然tomcat佔用系統資源很少,但執行個體過多的話浪費還是很嚴重的。由於tomcat有記憶體溢出的問題,需要改大記憶體,這樣就導致系統資源的大量浪費。2.管理不方便,無論是調優,還是日常的啟動,關閉,連接埠管理。雖然linux下很多命令很方便,但還是很麻煩。
此段轉載於http://java-boy.iteye.com/blog/588290,只引用它上面的文字描述部分,下面的操作都是我個人的實際情況來做的操作
在修改設定檔之前,注意先備份一份!
開啟設定檔server.xml
在最後添加一個service,代碼如下:
<Service name="Catalina2"> <Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Engine name="Catalina2" defaultHost="localhost"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="localhost" appBase="webapps_two" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service>
以上代碼即可實現建立一個新的服務Ctalina2,連接埠為8082,appBase是
圖片裡面的webapps_two,得自己建立一個
然後重啟Tomcat服務,即可訪問 http://localhost:8082的網站
如果訪問失敗,有可能是防火牆的原因
在防火牆進階設定-入站規則-建立規則 裡面添加可訪問8082這個連接埠的規則
Tomcat下搭建同IP不同連接埠的多網站