摘要:前言作為容器非常出色但是依然會有一些避之不及的小坑在此記錄一筆問題部署多個項目后路徑沖突情景描述下有兩個項目兩個項目除開管理信息接口其余都有安全驗證機制由于未做前后端分離因此靜態資源也存在項目中在做靜態資源中的接口請求時未寫包名比如登錄代碼
前言
tomcat作為java容器非常出色,但是依然會有一些避之不及的小坑,在此記錄一筆.
START 問題部署多個項目后url路徑沖突
情景描述1.webapps下有兩個項目 projectA,projectB.兩個項目除開管理信息接口,其余都有安全驗證機制.
2.projectA由于未做前后端分離,因此靜態資源也存在java項目中.在做靜態資源中的接口請求時未寫包名,比如登錄,js代碼會拼接服務器ip+端口+當前設置的url(/login),而未在/login前加上/projectA,所以在本機上測試沒有問題,只有當部署的時候才會存在這樣的問題.這也是個問題,下面解決.
3.projectB是運行正常的項目
打開tomcat中的配置文件,在
代碼解釋
path和doBase一起表示指定包路徑,為了簡便可以直接卸載docBase中.
重啟tomcat,測試直接ip+port能訪問到該包中的資源,然而當訪問其它包中資源時,會出現url歧義.本來是想訪問projectB,然而映射到projectA項目下.只是部分url會出現這樣的問題.
然后我們的解決方法是再裝一個tomcat,只部署需要直接路徑映射的項目如此便回到tomcat所在目錄,cp命令拷貝
$> cp -r tomcat8.5/ tomcat8.6/
然后移動tomcat8.5中的projectA到tomcat8.6中.
刪除tomcat8.5中的
在tomcat8.6中需要對service.xml做如下改動.
改動 shutdown對應的port為8006,只要與tomcat8.5不同且端口不沖突就行.
改動 請求對應的端口,原則同上
如此兩個tomcat才能同時運行,啟動與關閉互不影響.
END文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73091.html
摘要:接下來我們要配置這個的端口,這樣他們才能運行時端口號不沖突。問題指明不同的端口號訪問也太蠢了吧的確很蠢,所以我們要慢慢過渡學習。接下來我們學習用來進行反向代理。阿里云的部分有一些配置的具體過程。 一、在linux上部署運行多個tomcat 1、以前的我們 雖然說是在linux上,但是windows上也是同樣的道理,只不過我們服務器都是選用linux罷了。 原先,自己有多個項目需要部署在...
閱讀 1093·2021-10-12 10:11
閱讀 877·2019-08-30 15:53
閱讀 2286·2019-08-30 14:15
閱讀 2961·2019-08-30 14:09
閱讀 1197·2019-08-29 17:24
閱讀 972·2019-08-26 18:27
閱讀 1283·2019-08-26 11:57
閱讀 2146·2019-08-23 18:23