linux部署tomcat项目404_一个tomcat下部署多个项目或一个服务器部署多个tomcat
點擊上方[全棧開發者社區]→右上角[...]→[設為星標?]
??點擊上方綠標 收聽一個tomcat下部署多個項目或一個服務器部署多個tomcat
最近需要把兩個項目同時部署到服務器上,于是研究了一下,頁借鑒了很多別人的方法,把過程記錄下來,以儆效尤。
目錄:
1,一個tomcat下同時部署兩個項目(多個項目可以參考)
1.1項目都放在webapps內(共用一個端口)
1)把兩個項目都放在webapps下。
2)處理重復jar包。
3)tomcat端口默認為8080.如果想修改可以去conf下的server.xml中進行修改
4)啟動tomcat
1.2建立多個類似于webapps的文件夾,通過conf下的server.xml進行配置(每個項目使用不同端口)
1)在tomcat的webapps同一層目錄下新建webapps1文件夾,webapps放入第一個項目,webapps2放入第二個項目。
2)同1.1第二步:處理重復jar包。
3)修改server.xml文件,設置端口等信息。
4)啟動tomcat.
2,一臺服務器上同時運行2個tomcat.(多個應該類似)
2.1.使用壓縮版的tomcat不能使用安裝版的。??
2.2.第一個tomcat的配置不變。??
2.3.增加環境變量CATALINA_HOME2,值為新的tomcat的地址;增加環境變量CATALINA_BASE2,值為新的tomcat的地址。??
2.4.修改新的tomcat中的startup.bat、shutdown.bat,把其中的CATALINA_HOME改為CATALINA_HOME2。??
2.5.修改新的tomcat中的catalina.bat,把其中的CATALINA_HOME改為CATALINA_HOME2,CATALINA_BASE改為CATALINA_BASE2。??
2.6.修改conf/server.xml文件:?
2.7成功!?
1,一個tomcat下同時部署兩個項目(多個項目可以參考)
1.1項目都放在webapps內(共用一個端口)
1)把兩個項目都放在webapps下。
2)處理重復jar包。
兩個項目如果有重復的jar包,一定要進行處理,否則會導致服務器內存耗盡,報類似于http-bio-8080"-exec-1等異常。
解決方案:建立共享包路徑。
參考文章:https://my.oschina.net/angerbaby/blog/271438
我采用第一種:
修改catalina.properties中的common.loader屬性。在common.loader屬性原值基礎上追加
“${catalina.home}/lib/shared/*.jar”,然后啟動tomcat。很顯然,
需要將共享的jar包放到一個shared目錄里,然后將shared目錄放到tomcat下lib目錄里。建立好共享文件夾之后,把相同的包都放在共享文件夾,每個項目WEB-INF下的lib放各自獨有的。
3)tomcat端口默認為8080.如果想修改可以去conf下的server.xml中進行修改
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />4)啟動tomcat? ?
1.2建立多個類似于webapps的文件夾,通過conf下的server.xml進行配置(每個項目使用不同端口)
1)在tomcat的webapps同一層目錄下新建webapps1文件夾,webapps放入第一個項目,webapps2放入第二個項目。
2)同1.1第二步:處理重復jar包。
3)修改server.xml文件,設置端口等信息。
a,首先了解下tomcat的幾個主要端口:
"8080"?protocol=redirectPort="8443"?disableUploadTimeout="false"executor="tomcatThreadPool" URIEncoding="UTF-8"/>其中8080為HTTP端口,8443為HTTPS端口。
<Server port="8005" shutdown="SHUTDOWN">8005為遠程停服務端口
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />8009為AJP端口,APACHE能過AJP協議訪問TOMCAT的8009端口。
b,修改server.xml.
主要操作為在server下在增加一個service,這個文件中修改的地方主要是Connector里的端口,也就是咱們方法的http端口,注釋掉8009AJP端口,修改host下的appBase為對應的webapps,過程如下。
可以看到,第一個service中只需要注釋掉8009那部分。如果不注釋會發生端口被占用的情況,其他不用改變,第二個service為第一個service的副本,
在其中修改80端口為8081.host的appBase修改為自己對應的位置。
如果想部署多個項目,再次增加service節點即可。
4),啟動tomcat
2,一臺服務器上同時運行2個tomcat.(多個應該類似)
如果現在一臺機器上已經部署了一個tomcat服務,無論這個tomcat是否已經注冊為服務了,或者沒有注冊windows服務,或者注冊了,都沒關系。都可以采用下面的方法實現。如果該tomcat已經注冊為windows服務了,從window的環境變量中找不到 CATALINA_HOME和CATALINA_BASE,也可以采用下面的方式實現。?
當第一個tomcat啟動后,后面tomcat的server.xml中的端口不管怎么改,仍然會報端口沖突。后來在dos下運行才發現所有的tomcat都會去找
CATALINA_HOME和CATALINA_BASE這兩個環境變量,因此步驟如下:??
2.1.使用壓縮版的tomcat不能使用安裝版的。??
2.2.第一個tomcat的配置不變。??
2.3.增加環境變量CATALINA_HOME2,值為新的tomcat的地址;增加環境變量CATALINA_BASE2,值為新的tomcat的地址。??
2.4.修改新的tomcat中的startup.bat、shutdown.bat,把其中的CATALINA_HOME改為CATALINA_HOME2。??
2.5.修改新的tomcat中的catalina.bat,把其中的CATALINA_HOME改為CATALINA_HOME2,CATALINA_BASE改為CATALINA_BASE2。??
2.6.修改conf/server.xml文件:??
把端口改為沒有是使用的端口。??
<Connector port="8080" 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" />把端口改為沒有是使用的端口。??
2.7成功!?
總結:在遇到問題時,首先應分析問題產生的原因,然后整理解決的思路,思路很重要,如何分析呢,看日志,重要的事情說三遍,看日志,看日志,see logs。然后根據相應信息查找問題原因,參考別人的意見時,也要結合自己的實際情況。最主要的是不要怕錯,動手去做。你想擁有你從未擁有的東西,就要去做你從未做過的事。加油。
原文參考:https://blog.csdn.net/kangguowei/article/details/53037563
留言打卡第18天。
覺得本文對你有幫助?請分享給更多人
關注「全棧開發者社區」加星標,提升全棧技能
本公眾號會不定期給大家發福利,包括送書、學習資源等,敬請期待吧!
如果感覺推送內容不錯,不妨右下角點個在看轉發朋友圈或收藏,感謝支持。
好文章,我在看??
總結
以上是生活随笔為你收集整理的linux部署tomcat项目404_一个tomcat下部署多个项目或一个服务器部署多个tomcat的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 基于python的分布式扫描器_基于py
- 下一篇: python partial_Pytho
