Linux下建立多实例Tomcat(独立JVM)
說明:本文參照了以下文章:
http://apps.hi.baidu.com/share/detail/24999679
近期因?yàn)榭蛻糨^多,發(fā)現(xiàn)在同一臺(tái)服務(wù)器上由于Lerx V2版本不同,導(dǎo)致了Web應(yīng)用出錯(cuò)。分析原因,發(fā)現(xiàn)是由于所有WEB應(yīng)用共享同一Tomcat進(jìn)程,而用戶類(WEB-INF/classes)下的類文件同名但內(nèi)容并不相同導(dǎo)致沖突。因此考慮在linux環(huán)境下采用獨(dú)立jvm來處理解決這個(gè)問題。
參考上述文章設(shè)置,由于文中一些細(xì)節(jié)沒有交待或有錯(cuò)誤,因此補(bǔ)充如下。
該文章前部分是apache整合問題,這些內(nèi)容網(wǎng)上很多,可以參考。lerx網(wǎng)站上也有一些介紹。
從實(shí)踐中看清tomcat的啟動(dòng)過程與原理就可以輕松完成這一多實(shí)例方案。
CATALINA_BASE是一個(gè)非常重要的變量,可以認(rèn)為是應(yīng)用程序主目錄。當(dāng)tomcat啟動(dòng)時(shí),會(huì)從這一目錄下尋找它所需要的資源。所以在該目錄下,應(yīng)該有下面一些文件夾:conf、temp、work、logs。對(duì)于我來說,一般用戶的文件我都會(huì)放在同一個(gè)目錄內(nèi),所以,我在目錄下還建了bin、public_html文件夾。以下是各文件的簡(jiǎn)要說明
conf -------- tomcat配置文件目錄
temp -------- 臨時(shí)文件目錄
work -------- tomcat工作目錄
logs -------- 日志文件目錄
bin ------- 執(zhí)行文件目錄
public_html -------- 網(wǎng)站文件目錄
根據(jù)上述目錄結(jié)構(gòu),可以修改/etc/skel模板文件夾。在這個(gè)文件夾下按照上述進(jìn)行建立文件夾。當(dāng)建立一個(gè)新用戶時(shí),會(huì)根據(jù)這個(gè)目錄模板產(chǎn)生相應(yīng)的用戶文件夾。
筆者在按參考文章時(shí)最后發(fā)現(xiàn)無法實(shí)現(xiàn),關(guān)鍵是文中有兩個(gè)地方?jīng)]有交待清楚。一是上述文件夾問題,二是應(yīng)該將Tomcat的conf下的其它文件也要復(fù)制到用戶目錄的conf目錄下。
每個(gè)server.xml中注意要修改端口號(hào)不要相同。比如:第一個(gè)應(yīng)用server.xml中的http采用8081端口,第二個(gè)應(yīng)用server.xml中采用8082端口。
.sh文件可以放在bin目錄中。
因此可以export CATALINA_BASE="$PWD/../"來指定。一個(gè)更好的方法是將tomcat.sh放在用戶目錄下,tomcat.sh腳本內(nèi)容可以如下:
#!/bin/bash
# description:? Start up the Tomcat servlet engine.
# Sourc function library.
. /etc/init.d/functions
RETVAL=$?
export CATALINA_BASE="$PWD"
export CATALINA_HOME="/usr/local/tomcat"
export JVM_OPTIONS="-Xms32m –Xmx64m"
case "$1" in
start)
??????? if [ -f $CATALINA_HOME/bin/startup.sh ];
????????? then
??????????? echo $"Start Tomcat"
??????????? $CATALINA_HOME/bin/startup.sh
??????? fi
??????? ;;
stop)
??????? if [ -f $CATALINA_HOME/bin/shutdown.sh ];
????????? then
??????????? echo $"Stop Tomcat"
??????????? $CATALINA_HOME/bin/shutdown.sh
??????? fi
??????? ;;
*)
??????? echo $"Usage: $0 {start|stop}"
??????? exit 1
??????? ;;
esac
exit $RETVAL
目錄及文件結(jié)構(gòu)如下:
總結(jié)
以上是生活随笔為你收集整理的Linux下建立多实例Tomcat(独立JVM)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB中求矩阵的逆矩阵方法(2种)
- 下一篇: linux 其他常用命令