1. 程式人生 > >Linux下配置多個tomcat

Linux下配置多個tomcat

Linux環境下部署多臺tomcat伺服器,最近用到虛擬機器就順便整理一個親測的方法,下面用虛擬機器環境示範:

1、原理簡述:

  • 1.1 tomcat啟動時會去查詢tomcat的根目錄,並且會通過CATALINA_BASE和CATALINA_HOME 這兩個變數去查詢,所以同一伺服器下部署多個不同tomcat需要把tomcat根目錄以及上述兩個變數的值設定一下(也就是需要為每一個tomcat配置指向自己的環境變數)。
  • 1.2 tomcat需配置三個端口才能啟動,安裝時預設配置並啟用了這三個埠,所以要執行多個tomcat服務則需要修改這三個埠,否則會埠衝突。

2、準備工作:

  • 2.1 在/usr/local/目錄下新建兩個tomcat資料夾(tomcat1、tomcat2),並放入要使用的tomcat的tar包(如:apache-tomcat-8.5.6.tar.gz ),使用 ‘tar -zxvf tomcat的tar路徑’ 命令解壓;

3、開始配置:

  • 1、修改/ect/profile檔案(注意:是根目錄下的etc ,cd /etc/profile)

      cd /etc
      ll
      vi /etc/profile
      按o或者i新增如下:
      ####第一個Tomcat####
      export CATALINA_BASE=/usr/local/tomcat1/apache-tomcat-8.5.6
      export CATALINA_HOME=/usr/local/tomcat1/apache-tomcat-8.5.6
      export TOMCAT_HOME=/usr/local/tomcat1/apache-tomcat-8.5.6
    
      ####第二個Tomcat####
      export CATALINA_BASE=/usr/local/tomcat2/apache-tomcat-8.5.6
      export CATALINA_HOME=/usr/local/tomcat2/apache-tomcat-8.5.6
      export TOMCAT_HOME=/usr/local/tomcat2/apache-tomcat-8.5.6
    
      按ESC 輸入 ::wq(注意是:wq)
      輸入source /etc/profile使其生效。
    
    • 2、修改其他tomcat(除了第一個tomcat1)根目錄bin下的catalina.sh檔案 具體操作是切換到tomcat2的bin目錄下,vim catalina.sh,找到下面的註釋程式碼

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

    並在上述程式碼下面新增以下程式碼,目的是為了tomcat2啟動的時候能通過該檔案的裡的$CATALINA_2_BASE 和 $CATALINA_2_HOME找到/etc/profile配置檔案裡我們前一步配好的具體路徑,完成tomcat2的啟動過程。

      	# myself : add
      	export CATALINA_BASE=$CATALINA_2_BASE
      	export CATALINA_HOME=$CATALINA_2_HOME
    

    如果有多個tomcat,修改方法如上方式繼續新增。

  • 3、將server.xml中的三個埠都改大一些

      3.1 http訪問埠(預設為8080埠):
      <Connector port="8080" protocol="HTTP/1.1"   connectionTimeout="20000" redirectPort="8443" />
    
      3.2 監聽tomcat關閉的埠(預設為8005):
      <Server port="8005" shutdown="SHUTDOWN">  <Listener 		className="org.apache.catalina.startup.VersionLoggerListener" />
    
      3.3 負責接收其他http伺服器的請求埠(預設為8009):
      <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    
  • 4、儲存並重啟這兩臺tomcat進行訪問。

注意:上述是在Linux虛擬機器中操作,不存在“雲伺服器埠未開放等安全問題”,如果有問題請執行看配置是否正確,比如目錄是否對應等;