Tomcat安裝以及多實例部署
1.簡介
Tomcat 是 Apache 軟件基金會(Apache Software Foundation)的 Jakarta 項目中的一個核心項目, 由 Apache、Sun 和其他一些公司及個人共同開發而成。Tomcat 技術先進、性能穩定,而且免費,因而深受 Java 愛好者的喜愛並得到了部分軟件開發商的認可,成為目前比較流行的 Web 應用服務器。
端口8080
2.安裝
先安裝環境變量jdk和apache-tomcat(jdk-8u144-linux-x64.rpm 、apache-tomcat-8.5.20.tar.gz Tomcat解壓後就可以使用)
[root@localhosttools]# rpm -ivh jdk-8u144-linux-x64.rpm
[root@localhosttools]# tar xf apache-tomcat-8.5.20.tar.gz -C /usr/local
[root@localhosttools]# cd /usr/local/
[root@localhostlocal]# ln -sv apache-tomcat-8.5.20/ tomcat //軟連接
為了方便使用我在此寫了一個系統腳本(tomcat.sh)
[root@localhostlocal]# vim /etc/init.d/tomcat
添加執行權限並啟動:
[root@localhostlocal]# chmod +x /etc/init.d/tomcat
[root@localhostlocal]# chkconfig --add tomcat
[root@localhostlocal]# service tomcat start
[root@localhost~]# cd /usr/local/tomcat/webapps/ //Tomcat自動部署路徑
3.Tomcat多實例部署
我們常有在 JAVA Web 應用部署或依賴 Tomcat 應用中遇到單機多實例的需求,解決方案一般有:
1、復制 Tomcat 到不同目錄,更改 Server.xml 等配置文件;
2、部署不同應用實例到 webapps 目錄下或直接將多項目部署到同一 Tomcat 實例中。
以此解決多項目部署問題,這種解決思路有以下幾個問題:
1、復制多 Tomcat 難於維護。Tomcat 版本升級或更改配置將變得讓維護人員很頭疼;
2、復制多 Tomcat 資源消耗大。
3、對於多項目同時部署到 Tomcat webapps 目錄下的解決,項目與項目間依賴度太高,不方便統一調試或日誌跟蹤於定位。
4、如果項目中存在過於多的單例,多項目同時有依賴且部署在同一 webapps 目錄下,則可能導致項目無法正常運行或頻繁出 BUG;
5、項目復制在同一 webapps 下,對於熱加載和熱部署也造成了很大的困難。雖然 Tomcat 管理可以實現熱部署,但是對於實際線上項目,生成 war 包進行熱部署,Tomcat 自帶的熱部署功能便顯得不盡人意。
簡單的說,CATALINA_HOME 是 Tomcat的安裝目錄,CATALINA_BASE 是Tomcat 的工作目錄。如果我們想要運行 Tomcat 的多個實例,但是不想安裝多個 Tomcat 軟件副本。那麽我們可以配置多個工作目錄,每個運行實例獨占一個工作目錄,但是共享同一個安裝目錄。Tomcat 每個運行實例需要使用自己的 conf、logs、temp、webapps、和 work 目錄,因此CATALINA_BASE 就指向這些目錄。而其他目錄主要包括了Tomcat的二進制文件和腳本,CATALINA_HOME 就指向這些目錄。如果我們希望再運行另一個 Tomcat 實例,那麽我們可以建立一個目錄,把 conf、logs、temp、webapps 和 work 拷貝到該目錄下,然後讓 CATALINA_BASE指向該目錄即可。保證每個實例以下三個端口不同即可。
(1) 修改 Shutdown 端口(默認為 8005 端口)。
(2) 修改 http 訪問端口(默認為 8080 端口)。
(3) 修改 8009(ajp)端口。
部署實例:
[root@localhost~]# service tomcat stop //先停止Tomcat
[root@localhost~]# cd /usr/local/tomcat/
[root@localhosttomcat]# mkdir tomcat{1,2}
[root@localhosttomcat]# cp -a conf/ logs/ temp/ webapps/ work/ tomcat1
[root@localhosttomcat]# cp -a conf/ logs/ temp/ webapps/ work/ tomcat2
修改子目錄 conf/server.xml;
tomcat1 保持默認端口
tomcat2 修改
[root@localhosttomcat]# vim tomcat2/conf/server.xml
修改端口:
SHUTDOWN:8006 HTTP:8081 AJP:8010
寫一個shell啟動腳本:(tomcat.sh)
[root@localhosttomcat]# mv /etc/init.d/tomcat /etc/init.d/tomcat1
將export CATALINA_BASE=$CATALINA_HOME改成export CATALINA_BASE=$CATALINA_HOME/tomcat1
[root@localhosttomcat]# cp -p /etc/init.d/tomcat1 /etc/init.d/tomcat2
將export CATALINA_BASE=$CATALINA_HOME改成export CATALINA_BASE=$CATALINA_HOME/tomcat2
[root@localhosttomcat]# chkconfig --add tomcat1
[root@localhosttomcat]# chkconfig --add tomcat2
啟動:
[root@localhosttomcat]# service tomcat1 start
[root@localhosttomcat]# service tomcat2 start
日誌文件:
[root@localhosttomcat]# cd /usr/local/tomcat/tomcat2/logs/
catalina.out這個文件
本文出自 “13382604” 博客,請務必保留此出處http://13392604.blog.51cto.com/13382604/1983754
Tomcat安裝以及多實例部署