Tomcat 多實例

在我們使用Tomcat的過程當中,有時候可能需要在單臺節點上運行多個實例,

其實我們只需要在安裝的過程當中,修改部分內容即可。

這裏我們將Tomcat的主程序與實例分開,然後修改相關端口和配置,這樣我們就可以建立多個實例,而互不影響。

解壓安裝包:

[tomcat@mqtest opt]$ tar -zxvf apache-tomcat-6.0.37.tar.gz

我們查看一下目錄結構:

[tomcat@mqtest apache-tomcat-6.0.37]$ ls -l
總計 100
drwxrwxr-x 2 tomcat tomcat  4096 10-02 09:45 bin
drwxr-xr-x 2 tomcat tomcat  4096 2013-04-29 conf
drwxr-xr-x 2 tomcat tomcat  4096 10-02 09:45 lib
-rw-r--r-- 1 tomcat tomcat 37951 2013-04-29 LICENSE
drwxr-xr-x 2 tomcat tomcat  4096 2013-04-29 logs
-rw-r--r-- 1 tomcat tomcat   558 2013-04-29 NOTICE
-rw-r--r-- 1 tomcat tomcat  9188 2013-04-29 RELEASE-NOTES
-rw-r--r-- 1 tomcat tomcat 16287 2013-04-29 RUNNING.txt
drwxr-xr-x 2 tomcat tomcat  4096 10-02 09:45 temp
drwxr-xr-x 7 tomcat tomcat  4096 2013-04-29 webapps
drwxr-xr-x 2 tomcat tomcat  4096 2013-04-29 work

在這些目錄當中,bin目錄和lib目錄是在所有實例當中運行所必須的,

然後我們在當前目錄中創建兩個實例目錄:

[tomcat@mqtest apache-tomcat-6.0.37]$ mkdir {instance1,instance2}

將conf、logs、temp、webapps、work這幾個目錄複製一份到instance1和instance2目錄下,

修改後的目錄結構如下:

[tomcat@mqtest apache-tomcat-6.0.37]$ ls -l
總計 88
drwxrwxr-x 2 tomcat tomcat  4096 10-02 09:45 bin
drwxrwxr-x 7 tomcat tomcat  4096 10-02 09:57 instance1
drwxrwxr-x 7 tomcat tomcat  4096 10-02 09:57 instance2
drwxr-xr-x 2 tomcat tomcat  4096 10-02 09:45 lib
-rw-r--r-- 1 tomcat tomcat 37951 2013-04-29 LICENSE
-rw-r--r-- 1 tomcat tomcat   558 2013-04-29 NOTICE
-rw-r--r-- 1 tomcat tomcat  9188 2013-04-29 RELEASE-NOTES
-rw-r--r-- 1 tomcat tomcat 16287 2013-04-29 RUNNING.txt

接下來我們需要修改相關端口號,避免衝突,

分別進入instance1/conf和instance2/conf目錄下,修改server.xml文件:

[tomcat@mqtest conf]$ vi server.xml

instance1/conf 找到如下三段配置並修改:

<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />

<Server port="8105" shutdown="SHUTDOWN">

<Connector port="8180" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

Connector port - 應用開放服務的端口。

Shutdown port – 關閉tomcat監聽的端口

Connector ajp port – web服務器通信端口

Redirect port - 這裏我們沒用到SSL,所以可以不用修改

[tomcat@mqtest conf]$ vi server.xml

instance2/conf 找到如下三段配置並修改:

<Connector port="8209" protocol="AJP/1.3" redirectPort="8443" />

<Server port="8205" shutdown="SHUTDOWN">

<Connector port="8280" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

爲了之後我們維護的方便,我們需要分別創建啓動和停止腳本,這裏簡單演示一下,我們可以參考catalina.sh腳本文件:

這裏有幾個環境變量需要注意:

CATALINA_HOME - bin和lib所在的目錄

CATALINA_BASE - 默認是CATALINA_HOME的值,不同的實例需要定義不同的值

JAVA_HOME - java安裝目錄

[tomcat@mqtest instance1]$ touch {start.sh,stop.sh}

[tomcat@mqtest instance1]$ chmod 755 start.sh stop.sh

[tomcat@mqtest instance1]$ vi start.sh
export CATALINA_HOME="/opt/apache-tomcat-6.0.37"
export CATALINA_BASE= $CATALINA_HOME/instance1
export JVM_OPTIONS="-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m"
cd $CATALINA_HOME/bin
./startup.sh
[tomcat@mqtest instance1]$ vi stop.sh
export CATALINA_HOME="/opt/apache-tomcat-6.0.37"
export CATALINA_BASE= $CATALINA_HOME/instance1
export JVM_OPTIONS="-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m"
cd $CATALINA_HOME/bin
./shutdown.sh

如果有更多的實例,按照上面的步驟即可!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章