日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Tomcat單機多實例

 goldbomb 2014-08-06

在這篇文章中,我們將會看到在單機單用戶基礎(chǔ)上,如何運行多個tomcat實例。

我們首先看到的是tomcat的目錄結(jié)構(gòu),其每個文件夾有以下用途:

  • bin – 包含所有運行tomcat的二進(jìn)制和腳本文件
  • lib – 包含tomcat使用的所有共享庫
  • conf - 包含配置信息,如tomcat綁定的端口等
  • logs – 包含所有的日志文件
  • temp – 此目錄是tomcat存放的臨時文件
  • webapps – 此目錄非常重要,這里存放所有的應(yīng)用程序war包
  • work – 如果應(yīng)用程序包含jsp文件,那么每個jsp文件會被編譯轉(zhuǎn)化為servlet,存放于此

當(dāng)我們運行Tomcat時,會用到5個環(huán)境變量。他們是:

  • CATALINA_HOME
  • CATALINA_BASE
  • CATALINA_TMPDIR
  • JRE_HOME/JAVA_HOME
  • CLASSPATH

在以上列表中,CATALINA_HOME和JAVA_HOME是必要的環(huán)境變量。其它的都可以通過CATALINA_HOME來轉(zhuǎn)換,是可選的。

CATALINA_HOME – 此環(huán)境變量是tomcat安裝/提取的根目錄。所以通過CATALINA_HOME,可以得到bin和lib目錄。

CATALINA_BASE – 如果不指定則是CATALINA_HOME的值。該變量指向的目錄里面包括每個運行實例需要使用自己的conf、logs、temp、webapps、work目錄。

一般運行Tomcat的方法是,只設(shè)置CATALINA_HOME變量,執(zhí)行startup.sh腳本,startup.sh會自動轉(zhuǎn)換其它未設(shè)置的變量。

 

startup.sh設(shè)置環(huán)境變量時調(diào)用catalina.sh腳本,此腳本會讀取CATALINA_BASE的值,在$CATALINA_BASE/conf目錄,得到server.xml。這個文件時Tomcat的核心配置,它包含所有的配置信息,如shutdown端口,connector端口,主機名稱,應(yīng)用目錄等。例如,Tomcat通常使用8080作為連接端口,所以我們可以通過http://localhost:8080/訪問。

如果我們已經(jīng)設(shè)置$CATALINA_BASE,Tomcat就會從該變量所對應(yīng)的目錄搜索得到server.xml。

使用此方法可以在一臺機器上運行多個Tomcat實例。我們不需要改變CATALINA_HOME值,只需要在啟動/關(guān)閉Tomcat之前修改CATALINA_BASE值。

創(chuàng)建一個名為“tomcat-instance1”的目錄,從CATALINA_HOME目錄中復(fù)制conf,logs,temp,webapps,work目錄,修改“tomcat-instance1”目錄中的conf/server.xml文件。需要修改的端口是:Shutdown port,Connector port,ajp port和Redirect port。

Shutdown port – 此端口用于關(guān)閉Tomcat。當(dāng)執(zhí)行shutdown.sh腳本時,它會給此端口發(fā)出一個信號,Tomcat的進(jìn)程會監(jiān)聽此端口,如果接收到這樣的信號,進(jìn)程會清理退出。

Connector port - 此端口是應(yīng)用對外公開發(fā)布的端口。

ajp port – Web服務(wù)器(例如Apache的httpd Server)通過此端口和Tomcat進(jìn)行通信,也可以使用它設(shè)置一個負(fù)載均衡服務(wù)器。

Redirect port – 如果此Connector支持非SSL請求和接收SSL請求,Catalina會自動將請求指向到此端口。

看看示例server.xml文件:

1
2
3
4
5
6
7
8
<server port="8005" shutdown="SHUTDOWN">
    .....
    <connector
        connectiontimeout="20000"port="8080"
        protocol="org.apache.coyote.http11.Http11NioProtocol"
        redirectport="8443" />
    <connector port="8009" protocol="AJP/1.3" redirectport="8443" />
</server>

因為一個端口一旦被綁定,其它進(jìn)程就不能再綁定,所以我們將這些端口修改為其它值。在tomcat-instance1/conf/server.xml文件,配置server port =8105,connector port = 8181,ajp port = 8109。

1
2
3
4
5
6
7
8
<server port="8105" shutdown="SHUTDOWN">
    .....
    <connector
        connectiontimeout="20000" port="8181"
        protocol="org.apache.coyote.http11.Http11NioProtocol"
        redirectport="81443" />
    <connector port="8109" protocol="AJP/1.3" redirectport="81443" />
</server>

現(xiàn)在我們可以創(chuàng)建兩個腳本文件來啟動關(guān)閉tomcat-instance1。

startup-instance1.sh

1
2
3
export CATALINA_BASE= /home/ramki/tomcat-instance1
cd $CATALINA_HOME/bin
./startup.sh

shutdown-instance1.sh

1
2
3
export CATALINA_BASE= /home/ramki/tomcat-instance1
cd $CATALINA_HOME/bin
./shutdown.sh

這里我們設(shè)置了CATALINA_BASE變量并指向新的 tomcat-instance1。因為運行tomcat的所有二進(jìn)制文件都在CATALINA_HOME/bin目錄,隨后使用startup/shutdown腳本。

 

綜上所述,我們可以通過創(chuàng)建多實例目錄并修改conf/server.xml文件中的port值來運行實例。


原文鏈接: javacodegeeks 翻譯: ImportNew.com xbing
譯文鏈接: http://www./12553.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多