Tomcat 部署專案訪問方式處理及部署多個專案
阿新 • • 發佈:2021-08-03
tomcat 部署 web 專案,將打好的war包,放到 webapps 目錄下
啟動tomcat ,會自動解壓
1、省略埠號,通過專案名訪問
修改 server.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
將 port 修改成 80
即可通過 localhost/myProject 訪問
2、省略專案名訪問系統
找到 <host> 標籤
增加如下配置<Context docBase="專案路徑" path="/" reloadable="true">
<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"/> <Context docBase="..\webapps\myProject" path="/" reloadable="true" /> </Host>
注意:使用方式二部署專案,當tomcat 啟動時,專案會載入兩次才能啟動成功:
出現該問題的原因:
Tomcat啟動時,先載入appBase中配置的webapps目錄下的專案,然後再去載入docBase中配置的專案,因為docBase的相對路徑(/xxx
)是在webapps目錄下,所以會被載入兩次
可以使用如下方式解決
在與webapps 的同級目錄下,新建一個資料夾(project),專門用來放置專案檔案(myProject),然後再進行如下配置
<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" /> <Context docBase="..\project\myProject" path="/" reloadable="true" /> </Host>
3、tomcat下部署多個專案
找到 <host> 標籤
增加多個<Context>配置標籤
<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" /> <Context docBase="..\project\myProject1" path="/myProject1" reloadable="true" /> <Context docBase="..\project\myProject2" path="/myProject2" reloadable="true" /> </Host>