Linux 下啓動兩個tomcat

Linux 下啓動兩個tomcat

 

閒來無事學習nginx,想要配置個load balance。但是先決條件是:得有兩個web容器。兩個電腦是不用想了。只能想辦法在一個機器上啓動兩個tomcat。原覺得挺簡單的,只要改改port就行了。誰知單單改port壓根不會成功。網上找了不少解決方案,要麼繁雜的要死,要麼說的雲裏霧裏的。因而決定結合網上的說法和本身的想法,從新寫一個方案。html

先說解決方案吧。(我用的是tomcat-7.0.62,安裝的路徑是/usr/local/apache-tomcat-7.0.62)java

1.先把原來的tomcat複製一份,地址隨便放,文件名隨便取。我複製爲 /usr/local/apache-tomcat-7.0.62-copymysql

2.修改/usr/local/apache-tomcat-7.0.62-copy/conf/server.xml,用意是不要讓端口與原來的衝突了linux

  在此server.xml中一共有三個port,下面列出的是默認的設置。這三個端口都要修改。(我一開始的想法是隻要簡單的後面加個1,變成80051,80801,80091,反正只要端口最大不超過65535就好了。結果報什麼端口out of range 錯誤。。。。。)好吧,那就分別改成8006,8081,8010好了nginx

複製代碼
1 <!--這個好像是關閉的端口,具體做用不清楚-->
2 <Server port="8005" shutdown="SHUTDOWN">
3  
4 <!--這個應該知道是什麼端口吧-->
5  <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000「 redirectPort="8443" />
6  
7  
8  <!--註釋上說是什麼AJP 1.3的鏈接端口,具體什麼做用仍是不清出-->
9  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
複製代碼

 

3.在~/.bash_profile中添加下面兩個。 web

1 export CATALINA_BASE2=/usr/local/apache-tomcat-7.0.62-copy
2 export CATALINA_HOME2=/usr/local/apache-tomcat-7.0.62-copy

修改完成後用命令 source ~/.bash_profile使新配置的環境變量生效sql

 能夠看到這兩行的做用是添加環境變量,可是添加環境變量的方法並不僅這一種。因此不管用什麼方法,達到添加這兩個環境變量的目的就好了。shell

4.修改/usr/local/apache-tomcat-7.0.62-copy//bin/catalina.sh, 在開頭的位置添加下面綠色的兩行。(差很少就是在catalina.sh開始的位置)apache

 

複製代碼
 1 # resolve links - $0 may be a softlink
 2 PRG="$0"
 3 
 4 while [ -h "$PRG" ]; do
 5   ls=`ls -ld "$PRG"`
 6   link=`expr "$ls" : '.*-> \(.*\)$'`
 7   if expr "$link" : '/.*' > /dev/null; then
 8     PRG="$link"
 9   else
10     PRG=`dirname "$PRG"`/"$link"
11   fi
12 done
13 
14 # Get standard environment variables
15 PRGDIR=`dirname "$PRG"`
16 
17 # Only set CATALINA_HOME if not already set
18 [ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
19 
20 # Copy CATALINA_BASE from CATALINA_HOME if not already set
21 [ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
22 
23 CATALINA_HOME=$CATALINA_HOME2
24 CATALINA_BASE=$CATALINA_BASE2
複製代碼

 

5. 分別啓動兩個tomcat就行了。swift

 

好吧,下面的東西是我本身看catalina.sh的解釋,與啓動兩個tomcat沒有任何關係。

上面第四步的那一段代碼的目的就是取得 CATALINA_HOME和CATALINA_BASE。

  一開始這一段是說若是sh是連接的話的處理方法。$0就是bash文件的名稱。

複製代碼
 1 # resolve links - $0 may be a softlink
 2 PRG="$0"
 3 
 4 while [ -h "$PRG" ]; do
 5   ls=`ls -ld "$PRG"`
 6   link=`expr "$ls" : '.*-> \(.*\)$'`
 7   if expr "$link" : '/.*' > /dev/null; then
 8     PRG="$link"
 9   else
10     PRG=`dirname "$PRG"`/"$link"
11   fi
12 done
複製代碼

 

 下面有一句就是取得bash所在的文件夾。

1 # Get standard environment variables
2 PRGDIR=`dirname "$PRG"`

 

再下面註釋寫的很清楚了,若是咱們配置了CATALINA_HOME的環境變量,那就什麼都不幹,若是沒有配置,那就讓變量CATALINE_HOME指向 PRGIDR的父目錄,實際就是tomcat安裝目錄。

1 # Only set CATALINA_HOME if not already set
2 [ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
3 
4 # Copy CATALINA_BASE from CATALINA_HOME if not already set
5 [ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"

 

咱們的修改的意思是無論前面CATALINA_HOME和CATALINA_BASE設置爲了什麼,反正最後我一刀切,全設置爲我想要的,即以下的代碼

1 CATALINA_HOME=$CATALINA_HOME2
2 CATALINA_BASE=$CATALINA_BASE2

 

 

下面還有一個說明:

理論上來說上面的配置就能夠了。但是有一點小小的瑕疵:假設環境變量$CATALINA_HOME2和$CATALINA_BASE2是設在root用戶下的,那麼tomcat救只能用root用戶啓動了,別的用戶根本啓動不了。

而且,若是某個不知道catalina.sh已經被修改過的人複製apache-tomcat-7.0.62-copy到另外的地方,好比另外一臺服務器,他會發現tomcat啓動不了了。。。其實catalina.sh這麼寫更好,即把綠色的那兩行往前移一移就行了

複製代碼
 1 # resolve links - $0 may be a softlink
 2 PRG="$0"
 3 
 4 while [ -h "$PRG" ]; do
 5   ls=`ls -ld "$PRG"`
 6   link=`expr "$ls" : '.*-> \(.*\)$'`
 7   if expr "$link" : '/.*' > /dev/null; then
 8     PRG="$link"
 9   else
10     PRG=`dirname "$PRG"`/"$link"
11   fi
12 done
13 
14 # Get standard environment variables
15 PRGDIR=`dirname "$PRG"`
16 
17 CATALINA_HOME=$CATALINA_HOME2
18 CATALINA_BASE=$CATALINA_BASE2
19 
20 # Only set CATALINA_HOME if not already set
21 [ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd`
22 
23 # Copy CATALINA_BASE from CATALINA_HOME if not already set
24 [ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"



 

實驗系統:CentOS 6.6_x86_64

實驗前提:防火牆和selinux都關閉

實驗軟件:apache-tomcat-8.0.24  jdk-8u60-linux-x64  jeecms-v6

1、安裝JAVA環境

1.安裝JAVA:

wget http://download.Oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz
tar xf jdk-8u60-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
ln -sv jdk1.8.0_60 jdk

2.配置環境變量:

vim /etc/profile.d/jdk.sh
--------------------------------------------------->
JAVA_HOME=/usr/local/jdk
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
<---------------------------------------------------
. /etc/profile.d/jdk.sh        //重讀此文件,讓變量生效

3.查看JAVA是否安裝成功:

java -version

2、安裝tomcat

1.安裝tomcat:

wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.24/bin/apache-tomcat-8.0.24.tar.gz
tar xf apache-tomcat-8.0.24.tar.gz -C /usr/local/
cd /usr/local/
ln -sv apache-tomcat-8.0.24 tomcat

2.配置環境變量:

vim /etc/profile.d/tomcat.sh
--------------------------------------------------->
CATALINA_BASE=/usr/local/tomcat
PATH=$CATALINA_BASE/bin:$PATH
export PATH CATALINA_BASE
<---------------------------------------------------
. /etc/profile.d/tomcat.sh

3.查看tomcat版本狀態:

catalina.sh version

3、配置tomcat

1.配置server.xml:

vim /usr/local/tomcat/conf/server.xml
---------------------------------------------------------->
 <Connector port="80" protocol="HTTP/1.1"      //默認端口爲8080,改成80
            connectionTimeout="20000"
            redirectPort="8443" />

2.tomcat有manager-gui的管理頁面,想要使用必須配置管理用戶,不使用能夠跳過此步。配置tomcat-users.xml:

vim /usr/local/tomcat/conf/tomcat-users.xml
------------------------------------------------------------------------------->
<role rolename="manager-gui"/>                                        //指定用戶可使用的接口爲manager-gui
<user username="tomcat" password="tomcat" roles="manager-gui"/>      //用戶名和密碼爲tomcat,在manager-gui接口使用

3.建立測試頁面:

mkdir -pv /usr/local/tomcat/webapps/test/WEB-INF/{classes,lib}
vim /usr/local/tomcat/webapps/test/index.jsp
--------------------------------------------------------------->
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
    <head>
        <title>test</title>
    </head>
    <body>
        <%
            out.println("Hello World!");      //嵌入java語言
        %>
    </body>
</html>

4.啓動測試:

catalina.sh start

用瀏覽器打開http://192.168.19.74,並打開Manager App管理頁面,用以前配置的用戶名和密碼進入:

進入管理界面,能夠看到剛纔建立的test已經裝載了,點擊進去,便可看到測試頁面了。以前沒有配置manager-gui的能夠直接使用http://192.168.19.74/test打開:

4、拓展實驗

1.可安裝的JAVA程序不少,這裏用JEECMS作演示,首先放入程序文件,程序可從http://www.jeecms.com下載:

unzip jeecmsv6.zip
mv ROOT/ /usr/local/tomcat/webapps/cms
catalina.sh stop
catalina.sh start

2.瀏覽器打開http://192.168.19.74/cms,進入安裝頁面:

     

3.寫入相關參數,mysql的安裝及使用這裏再也不寫出:

4.重啓tomcat服務並訪問http://192.168.19.74/cms/jeeadmin/jeecms/index.do,用戶名admin,密碼password:

catalina.sh stop
catalina.sh start

至此,tomcat的簡單配置演示完畢了,感謝你們的收看,謝謝!

RedHat Linux 5.5安裝JDK+Tomcat並部署Java項目  http://www.linuxidc.com/Linux/2015-02/113528.htm 

Tomcat權威指南(第二版)(中英高清PDF版+帶書籤)  http://www.linuxidc.com/Linux/2015-02/113062.htm 

Tomcat 安全配置與性能優化 http://www.linuxidc.com/Linux/2015-02/113060.htm 

Linux下使用Xshell查看Tomcat實時日誌中文亂碼解決方案 http://www.linuxidc.com/Linux/2015-01/112395.htm 

CentOS 64-bit下安裝JDK和Tomcat並設置Tomcat開機啓動操做步驟 http://www.linuxidc.com/Linux/2015-01/111485.htm 

CentOS 6.5下安裝Tomcat  http://www.linuxidc.com/Linux/2015-01/111415.htm 

Tomcat 的詳細介紹請點這裏
Tomcat 的下載地址請點這裏

 

 

 

Linux下同時啓動兩個Tomcat進行設置.

 

Linux版本:Linux version 2.6.32-431.11.2.el6.x86_64

Tomcat:apache-tomcat-6.0.41.tar.gz(官方下載)

解壓tar.gz:tar -zxvf apache-tomcat-6.0.41.tar.gz 至相應的路徑下,可解壓至兩個不一樣的路徑或者相同的路徑下不一樣的文件夾,不須要安裝,直接部署程序便可。

接下來修改tomcat文件夾conf目錄下的server.xml文件:

 

<Server port="8015" shutdown="SHUTDOWN">     默認爲8005--》修改成8015

  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  <Listener className="org.apache.catalina.core.JasperListener" />
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

.........

    <Connector port="8091" protocol="HTTP/1.1"    默認爲8080--》修改成8091              

      connectionTimeout="20000" 
               redirectPort="8443" />

 

........

    <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />      默認爲8009--》修改成8019

 

以上三處紅色註明的部分修改,只須要兩個文件中此三處不一樣,啓動tomcat,成功。

 

 

本文永久更新連接地址http://www.linuxidc.com/Linux/2015-08/122234.htm

 

centos6.5下配置多個tomcat

原創 2016年06月27日 09:35:45

步驟以下: 
1)修改/etc/profile文件。添加一組java環境變量,和兩組CATALINA環境變量(我沒有進行此步驟的設置,可能由於個人Tomcat是免安裝版的吧) 
記得修改完要使其生效,用命令:source /etc/profile

JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64 
PATH=JAVAHOME/bin:JAVAHOME/bin:PATH 
CLASSPATH=.:JAVAHOME/lib/dt.jar:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar 
export JAVA_HOME 
export PATH 
export CLASSPATH

第一個Tomcat

CATALINA_BASE=/opt/apache-tomcat-5.5.33 
CATALINA_HOME=/opt/apache-tomcat-5.5.33 
export CATALINA_BASE CATALINA_HOME

第二個Tomcat

CATALINA_2_BASE=/opt/apache-tomcat-7.0.56 
CATALINA_2_HOME=/opt/apache-tomcat-7.0.56 
export CATALINA_2_BASE CATALINA_2_HOME

第三個個Tomcat

CATALINA_3_BASE=/home/apache-tomcat-6.0.44 
CATALINA_3_HOME=/home/apache-tomcat-6.0.44 
export CATALINA_3_BASE CATALINA_3_HOME

第四個tomcat

CATALINA_4_BASE=/home/apache-tomcat-8.0.29 
CATALINA_4_HOME=/home/apache-tomcat-8.0.29 
export CATALINA_4_BASE CATALINA_4_HOME

第一個Tomcat路徑

TOMCAT_HOME=/opt/apache-tomcat-5.5.33 
export TOMCAT_HOME

第二個Tomcat路徑

TOMCAT_2_HOME=/opt/apache-tomcat-7.0.56 
export TOMCAT_2_HOME

第三個Tomcat路徑

TOMCAT_3_HOME=/home/apache-tomcat-6.0.44 
export TOMCAT_3_HOME

第四個tomcat

TOMCAT_4_HOME=/home/apache-tomcat-8.0.29 
export TOMCAT_4_HOME

(2)把tomcat_2/conf下的server.xml打開,修改關閉端口與啓動端口。這樣就能夠在linux下同時運行兩個tomcat了。運行更多tomcat方法是同樣的。

(3)主要要點就是tomcat啓動的時候會去查找tomat 的根目錄,而這是經過查詢系統環境變量CATALINA_HOME 以及

CATALINA_BASE 來作到的,因而咱們只須要設置這兩個變量便可。 
如今咱們把tomcat拷貝成2份,分別爲 tomcat1 和 tomcat2,tomcat1 咱們使用以前配置好的默認配置

(CATALINA_HOME 以及 CATALINA_BASE 均指向 tomca1 目錄),但tomcat2 咱們不能再使用系統上配置的這兩個

變量了,那麼咱們就在 tomcat2的bin目錄下面的 catalina.sh 臨時修改設置 CATALINA_HOME 和 CATALINA_BASE

爲tomcat2的根目錄便可,若是再加tomcat 以此類推便可。

打開catalina.sh ,找到下面紅字,在下面增長以下代碼

# OS specific support. $var must be set to either true or false.

myself : add

export CATALINA_BASE=CATALINA_2_BASE  
export CATALINA_HOME=CATALINA_2_BASE  export CATALINA_HOME=CATALINA_2_HOME

設置虛擬機參數

JAVA_OPTS=」-Xms512m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m」

版權聲明:本文爲博主原創文章,未經博主容許不得轉載。 https://blog.csdn.net/u014600520/article/details/51766361
 
 

CentOS 系統下安裝多個tomcat,佔用不一樣的端口

原創 2017年05月19日 12:13:02

1.安裝tomcat,解壓到指定的目錄

2.修改環境變量:/etc/init.d/tomcat(這是個人,通常的都是/etc/profile)

3.加入如下代碼(tomcat路徑要配置本身實際的tomcat安裝目錄)
##########first tomcat###########
CATALINA_BASE=/usr/local/tomcat
CATALINA_HOME=/usr/local/tomcat
TOMCAT_HOME=/usr/local/tomcat
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
##########first tomcat############
##########second tomcat##########
CATALINA_2_BASE=/usr/local/tomcat_2
CATALINA_2_HOME=/usr/local/tomcat_2
TOMCAT_2_HOME=/usr/local/tomcat_2
export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME
####################

4.保存退出。
5.再輸入:source /etc/profilecond tomcat在生效

6.第一個tomcat,保持解壓後的原狀不用修改, 

來到第二個tomcat的bin目錄下打開catalina.sh ,找到下面紅字,

 # OS specific support.  $var _must_ be set to either true or false.

在下面增長以下代碼

export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME

7.來到第二個tomcat的conf目錄下
打開server.xml更改端口:

修改server.xml配置和第一個不一樣的啓動、關閉監聽端口。
修改後示例以下:
  <Server port="9005" shutdown="SHUTDOWN">                端口:8005->9005
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector port="9080" maxHttpHeaderSize="8192"        端口:8080->9080
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="9009"                                  端口:8009->9009
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

8.分別進入兩個tomcat的bin目錄,啓動tomcat--./startup.sh

9.而後訪問http://localhost:8080 和 http://localhost:9080 均可以看到熟悉的tomcat歡迎界面

相關文章
相關標籤/搜索