eclipse中部署多個專案到tomcat的情況總結
1,tomcat解壓包,通過startup.bat(windows系統)啟動。
單獨使用tomcat來部署多個web專案,並且我們要實現多個專案對應多個埠。以apache-tomcat-8.5.11為例。
1.1 下載好tomcat後解壓,在tomcat根目錄下複製一個webapps1(一個webapps對應一個埠),同時在當前的conf資料夾裡複製一個複製一個
1.2我準備了兩個簡單的web專案sitech-demo1(部署在webapps)和sitech-demo2(部署在webapps1),將編譯好的專案部署到對應的資料夾中。
1.3 配置tomcat。
1.4 配置server.xml,要新增多少個埠就新增多少個service標籤
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<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="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
<Service name="Catalina1">
<Connector port="18080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="18009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina1" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps1"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!-- 當通過eclipse之間部署到tomcat中時會自新增context標籤其中path就是新的訪問路徑,eclipse中預設的專案名稱
<Context docBase="sitech-demo1" path="/test" reloadable="true" source="org.eclipse.jst.jee.server:sitech-demo1"/>-->
</Host>
</Engine>
</Service>
</Server>
1.5 啟動tomcat,startup.bat
1.6 測試訪問結果
1.7 測試用的tomcat及demo
2、eclipse中配置專案,一個tomcat部署多個專案用不同的埠訪問(測試環境tomcat7.0.41)
2.1 新建多個server啟動項,
我這邊因為demo1和demo2自己測試的時候已經建好,所以建了一個demo3這是為了演示操作步驟,小夥伴可以直接建立demo1,最後finish
2.2 雙擊demo3進行配置,我這邊是測試第一種情況所以按第一種配置(配置完記得右鍵demo3pulish,這樣才能在workspace中看到虛擬執行環境)
workspace下自動生成的虛擬執行環境
2.3往demo3中新增sitech-demo1專案後,雙擊demo3 server回到上面2.2的配置介面選擇modules,此時可以看到已經新增進來的專案sitech-demo1,選中這條記錄,eidt,編輯訪問路徑(path的值可以自己隨便寫都可以不一定要與server相同)所以我的訪問路徑就是http://localhost:18080/demo3/index.html
2.4 這樣新建好多個啟動專案對應對個專案,就可以同時啟動多個專案,並通過不同的埠來訪問,我測試用的是demo1,demo2兩個啟動項,demo3執行的是跟demo1一樣的專案所以就不測試了
demo1--->專案sitech-demo1
demo2--->專案sitech-demo2
2.5 同時開啟兩個demo1和demo2啟動項
2.6 測試結果