Tomcat--安裝部署

Tomcat安裝部署

Tomcat簡介

官網:http://tomcat.apache.org/html

Tomcat服務器是一個免費的開源代碼的Web應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是不少的場合下使用,是開發和調試JSP程序的首選。
TomcatNginxApacheWeb服務器同樣,具備處理HTML頁面的功能,另外它仍是一個ServletJSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Nginx/Apache服務器。
通常狀況下多用Nginx+TomcatNginx處理靜態,Tomcat處理動態程序java

Tomcat安裝

軟件下載:JDK下載   Tomcat下載mysql

本文使用的軟件包jdk-8u211,  tomcat-9.0.21。 下載連接   提取碼:f0aylinux

部署Java環境

將下載的軟件包上傳到服務器web

# 解壓軟件包
[root@tomcat ~]# tar xf jdk-8u211-linux-x64.tar.gz -C /usr/local/

# 建立一個軟連接
[root@tomcat ~]# ln -s /usr/local/jdk1.8.0_211 /usr/local/java

# 添加環境變量
[root@tomcat ~]# sed -i.ori '$a export JAVA_HOME=/usr/local/java \nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH \nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile

# 從新加載環境變量
[root@tomcat ~]# source /etc/profile
[root@tomcat ~]# env |grep JAVA
JAVA_HOME=/usr/local/java

# 查看是否安裝成功
[root@tomcat ~]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

部署Tomcat

# 解壓軟件包
[root@tomcat ~]# tar xf apache-tomcat-9.0.21.tar.gz -C /usr/local/

# 建立一個軟連接
[root@tomcat ~]# ln -s /usr/local/apache-tomcat-9.0.21 /usr/local/tomcat

# 定義tomcat所需的環境變量
[root@tomcat ~]# echo "export TOMCAT_HOME=/usr/local/tomcat" >> /etc/profile

# 從新加載環境變量
[root@tomcat ~]# source /etc/profile

Tomcat啓動

1)默認的啓動方式spring

[root@tomcat ~]# ls /usr/local/tomcat/bin/startup.sh   #啓動腳本
/usr/local/tomcat/bin/startup.sh
[root@tomcat ~]# ls /usr/local/tomcat/bin/shutdown.sh   #中止腳本
/usr/local/tomcat/bin/shutdown.sh

# 默認方式啓動
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

# 默認方式中止
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

2)加入/etc/init.d/支持centos6servicesql

# 編輯/etc/init.d/tomcat腳本
[root@tomcat ~]# vim /etc/init.d/tomcat
#!/bin/bash
# Init file for Tomcat server daemon
#
# chkconfig: 2345 96 14
# description: Tomcat server daemon
JAVA_OPTS='-Xms64m -Xmx128m'
JAVA_HOME=/usr/local/jdk1.8.0_211      #指定jdk安裝路徑
CATALINA_HOME=/usr/local/tomcat     #指定tomcat安裝路徑
export JAVA_OPTS JAVA_HOME CATALINA_HOME
exec $CATALINA_HOME/bin/catalina.sh $*

# 添加執行權限
[root@tomcat ~]# chmod +x /etc/init.d/tomcat

# 啓動中止測試
[root@tomcat ~]# service tomcat start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_211
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@tomcat ~]# 
[root@tomcat ~]# service tomcat stop
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_211
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

3)加入systemd管理tomcat數據庫

# 編輯啓動腳本
[root@tomcat ~]# vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat server daemon
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=oneshot
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
ExecReload=/bin/kill -HUP $MAINPID
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

# 測試啓動和關閉
[root@tomcat ~]# systemctl start tomcat
[root@tomcat ~]# ps -ef |grep tomcat
root       4810      1 35 12:37 ?        00:00:02 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       4852   1823  0 12:37 pts/1    00:00:00 grep --color=auto tomcat
[root@tomcat ~]# 
[root@tomcat ~]# systemctl stop tomcat
[root@tomcat ~]# ps -ef |grep tomcat
root       4888   1823  0 12:38 pts/1    00:00:00 grep --color=auto tomcat
[root@tomcat ~]# 
[root@tomcat ~]# systemctl restart tomcat 
[root@tomcat ~]# ps -ef |grep tomcat
root       4909      1 43 12:38 ?        00:00:02 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root       4959   1823  0 12:38 pts/1    00:00:00 grep --color=auto tomcat
[root@tomcat ~]#
[root@tomcat ~]# systemctl status tomcat
● tomcat.service - Tomcat server daemon
   Loaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled)
   Active: active (exited) since 二 2019-06-25 12:38:22 CST; 3min 53s ago
  Process: 4895 ExecStart=/usr/local/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 4895 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/tomcat.service
           └─4909 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.pro...

6月 25 12:38:22 tomcat systemd[1]: Starting Tomcat server daemon...
6月 25 12:38:22 tomcat startup.sh[4895]: Tomcat started.
6月 25 12:38:22 tomcat systemd[1]: Started Tomcat server daemon.

# 加入開機啓動
[root@tomcat ~]# systemctl enable tomcat
[root@tomcat ~]# systemctl list-unit-files  |grep tomcat
tomcat.service                                enabled

tomcat啓動成功後默認端口爲:8080,訪問地址http://ip:8080apache

Tomcat目錄結構

tomcat安裝主目錄下的各個子目錄說明:bootstrap

[root@tomcat ~]# cd /usr/local/tomcat/
[root@tomcat tomcat]# tree -L 1
.
├── bin         #存放啓動、關閉tomcat或者其它功能的腳本(.bat文件和.sh文件)
├── BUILDING.txt
├── conf        #存放tomcat配置相關的文件
├── CONTRIBUTING.md
├── lib         #存放Web應用能訪問的JAR包
├── LICENSE
├── logs        #存放tomcat日誌文件
├── NOTICE
├── README.md
├── RELEASE-NOTES
├── RUNNING.txt
├── temp        #臨時文件
├── webapps     #Web應用程序的跟目錄
└── work        #用以產生有JSP編譯出的Servlet的.java和.class文件

7 directories, 7 files

webapps目錄說明:

這裏幾個目錄對應着主界面的上面的按鈕,能夠直接在主界面查看幫助文檔,及web界面直接管理。

[root@tomcat tomcat]# cd webapps/
[root@tomcat webapps]# ll
總用量 4
drwxr-x--- 14 root root 4096 6月  25 11:39 docs          #tomcat幫助文檔
drwxr-x---  6 root root   83 6月  25 11:39 examples      #web應用實例
drwxr-x---  5 root root   87 6月  25 11:39 host-manager  #管理
drwxr-x---  5 root root  103 6月  25 11:39 manager       #管理
drwxr-x---  3 root root  283 6月  25 11:39 ROOT          #默認網站根目錄

Tomcat日誌文件

tomcat通常有幾個日誌文件,訪問的通常放在localhost日誌文件裏面,管理的日誌放在manager日誌文件裏面,實時日誌通常在catalina.out裏面

[root@tomcat tomcat]# cd logs/
[root@tomcat logs]# ll
總用量 180
-rw-r----- 1 root root 82372 6月  25 12:38 catalina.2019-06-25.log
-rw-r----- 1 root root 82574 6月  25 12:38 catalina.out
-rw-r----- 1 root root     0 6月  25 12:18 host-manager.2019-06-25.log
-rw-r----- 1 root root  6246 6月  25 12:38 localhost.2019-06-25.log
-rw-r----- 1 root root  3489 6月  25 14:30 localhost_access_log.2019-06-25.txt
-rw-r----- 1 root root     0 6月  25 12:18 manager.2019-06-25.log

[root@tomcat logs]# tailf catalina.out 
25-Jun-2019 12:38:24.674 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.21/webapps/docs] has finished in [27] ms
25-Jun-2019 12:38:24.675 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 應用程序部署到目錄 [/usr/local/apache-tomcat-9.0.21/webapps/examples]
25-Jun-2019 12:38:25.113 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.21/webapps/examples] has finished in [438] ms
25-Jun-2019 12:38:25.113 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 應用程序部署到目錄 [/usr/local/apache-tomcat-9.0.21/webapps/host-manager]
25-Jun-2019 12:38:25.163 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.21/webapps/host-manager] has finished in [50] ms
25-Jun-2019 12:38:25.163 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 應用程序部署到目錄 [/usr/local/apache-tomcat-9.0.21/webapps/manager]
25-Jun-2019 12:38:25.220 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/apache-tomcat-9.0.21/webapps/manager] has finished in [57] ms
25-Jun-2019 12:38:25.238 信息 [main] org.apache.coyote.AbstractProtocol.start 開始協議處理句柄["http-nio-8080"]
25-Jun-2019 12:38:25.298 信息 [main] org.apache.coyote.AbstractProtocol.start 開始協議處理句柄["ajp-nio-8009"]
25-Jun-2019 12:38:25.302 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in [1,290] milliseconds

Tomcat配置文件

tomcat配置文件存放在安裝目錄下的conf目錄下面

# 進入到配置文件目錄
[root@tomcat ~]# cd /usr/local/tomcat/conf/
[root@tomcat conf]# ll
總用量 228
drwxr-x--- 3 root root     23 6月  25 12:18 Catalina
-rw------- 1 root root  12873 6月   5 04:23 catalina.policy
-rw------- 1 root root   7243 6月   5 04:23 catalina.properties
-rw------- 1 root root   1400 6月   5 04:23 context.xml
-rw------- 1 root root   1149 6月   5 04:23 jaspic-providers.xml
-rw------- 1 root root   2313 6月   5 04:23 jaspic-providers.xsd
-rw------- 1 root root   4144 6月   5 04:23 logging.properties
-rw------- 1 root root   7511 6月   5 04:23 server.xml  #主配置文件
-rw------- 1 root root   2164 6月   5 04:23 tomcat-users.xml  #Tomcat管理用戶配置文件
-rw------- 1 root root   2633 6月   5 04:23 tomcat-users.xsd
-rw------- 1 root root 171962 6月   5 04:23 web.xml

Tomcat管理

配置tomcatweb界面管理功能,能夠進行配置文件的管理,及部署在tomcat上的應用進行管理,默認狀況是處於禁用狀態。若是要開啓這個功能,須要配置管理用戶,即配置tomcat-users.xml文件。而且還須要修改manager項目下的content.xml文件,讓其全部地址可訪問

# 編輯配置文件
[root@tomcat ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
...
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
</tomcat-users> #在這行前面加入上面三行

# 編輯manager/META-INF/context.xml
[root@tomcat ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
#將
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
#改成
allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

# 編輯host-manager/META-INF/context.xml
[root@tomcat ~]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml
#將
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
#改成
allow="\d+\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

# 重啓tomcat
[root@tomcat ~]# systemctl restart tomcat

訪問測試

狀態頁面:

Manager頁面:

Host Manager頁面:

server.xml配置文件註釋

參考:http://www.javashuo.com/article/p-hhbfjiza-t.html

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.security.SecurityListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> 
  <Listener className="org.apache.catalina.core.JasperListener" /> 
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> 
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> 
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> 
  <GlobalNamingResources> 
  <!-- 全局命名資源,來定義一些外部訪問資源,其做用是爲全部引擎應用程序所引用的外部資源的定義 --!> 
    <Resource name="UserDatabase" auth="Container" 
              type="org.apache.catalina.UserDatabase" 
              description="User database that can be updated and saved" 
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory" 
              pathname="conf/tomcat-users.xml" /> 
  </GlobalNamingResources> 
  <!-- 定義的一個名叫「UserDatabase」的認證資源,將conf/tomcat-users.xml加載至內存中,在須要認證的時候到內存中進行認證 --> 
  <Service name="Catalina"> 
  <!-- # 定義Service組件,同來關聯Connector和Engine,一個Engine能夠對應多個Connector,每一個Service中只能一個Engine --!> 
    <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 
    <!-- 修改HTTP/1.1的Connector監聽端口爲80.客戶端經過瀏覽器訪問的請求,只能經過HTTP傳遞給tomcat。還能夠設置server與URIEncoding參數 --> 
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 
    <Engine name="Catalina" defaultHost="test.com"> 
    <!-- 修改當前Engine,默認主機是,www.test.com  --> 
    <Realm className="org.apache.catalina.realm.LockOutRealm"> 
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 
               resourceName="UserDatabase"/> 
    </Realm> 
    # Realm組件,定義對當前容器內的應用程序訪問的認證,經過外部資源UserDatabase進行認證 
      <Host name="test.com"  appBase="/web" unpackWARs="true" autoDeploy="true"> 
      <!--  定義一個主機,域名爲:test.com,應用程序的目錄是/web,設置自動部署,自動解壓    --> 
        <Alias>www.test.com</Alias> 
        <!--    定義一個別名www.test.com,相似apache的ServerAlias --> 
        <Context path="" docBase="www/" reloadable="true" /> 
        <!--    定義該應用程序,訪問路徑"",即訪問www.test.com便可訪問,網頁目錄爲:相對於appBase下的www/,即/web/www,而且當該應用程序下web.xml或者類等有相關變化時,自動重載當前配置,即不用重啓tomcat使部署的新應用程序生效  --> 
        <Context path="/bbs" docBase="/web/bbs" reloadable="true" /> 
        <!--  定義另一個獨立的應用程序(虛擬主機),訪問路徑爲:www.test.com/bbs,該應用程序網頁目錄爲/web/bbs   --> 
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/web/www/logs" 
               prefix="www_access." suffix=".log" 
               pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 
        <!--   定義一個Valve組件,用來記錄tomcat的訪問日誌,日誌存放目錄爲:/web/www/logs若是定義爲相對路徑則是至關於$CATALINA_HOME,並不是相對於appBase,這個要注意。定義日誌文件前綴爲www_access.並以.log結尾,pattern定義日誌內容格式,具體字段表示能夠查看tomcat官方文檔   --> 
      </Host> 
      <Host name="manager.test.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> 
      <!--   定義一個主機名爲man.test.com,應用程序目錄是$CATALINA_HOME/webapps,自動解壓,自動部署   --> 
        <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="172.16.100.*" /> 
        <!--   定義遠程地址訪問策略,僅容許172.16.100.*網段訪問該主機,其餘的將被拒絕訪問  --> 
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/web/bbs/logs" 
               prefix="bbs_access." suffix=".log" 
               pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 
        <!--   定義該主機的訪問日誌      --> 
      </Host> 
    </Engine> 
  </Service> 
</Server>

Tomcat單實例站點部署

以部署jspxcms爲例,在上面已部署的環境下繼續操做。

1)安裝MySQL及建立庫

[root@tomcat ~]# yum -y install mariadb mariadb-server
[root@tomcat ~]# systemctl enable mariadb
[root@tomcat ~]# systemctl start mariadb

# 建立數據庫並受權
MariaDB [(none)]> create database jspxcms_test character set utf8;
MariaDB [(none)]> grant all on jspxcms_test.* to 'jspxcmsuser'@'localhost' identified by '123';
MariaDB [(none)]> flush privileges;

2)部署jspxcms

# tomcat默認的網站目錄
[root@tomcat ~]# ls /usr/local/tomcat/webapps/
docs  examples  host-manager  manager  ROOT
[root@tomcat ~]# ls /usr/local/tomcat/webapps/ROOT/

# 上傳jspxcms安裝包並解壓
[root@tomcat ~]# mkdir tools
[root@tomcat tools]# ls
jspxcms-9.5.0-release.zip
[root@tomcat tools]# unzip jspxcms-9.5.0-release.zip
[root@tomcat tools]# ls
CHANGELOG.txt  database  jspxcms-9.5.0-release.zip  Jspxcms安裝手冊.pdf  ROOT  用戶許可協議.txt
[root@tomcat tools]# rm -rf /usr/local/tomcat/webapps/*
[root@tomcat tools]# cp -a ROOT /usr/local/tomcat/webapps/

# 導入sql文件
[root@tomcat tools]# mysql -D jspxcms_test < database/mysql.sql

# 編輯配置文件配置數據庫鏈接信息
[root@tomcat tools]# vim /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/application.properties
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/jspxcms_test?characterEncoding=utf8
# \u6570\u636E\u5E93\u7528\u6237\u540D
spring.datasource.username=jspxcmsuser
# \u6570\u636E\u5E93\u5BC6\u7801
spring.datasource.password=123

# 重啓tomcat
[root@tomcat ~]# systemctl restart tomcat

3)web頁面訪問 前臺地址:http://ip:8080  後臺地址:http://ip:8080/cmscp/index.do   默認帳號:admin 密碼爲空

Tomcat多實例站點部署

多實例做用運行不一樣的應用(相似虛擬主機)
多實例運行相同的應用(實現負載均衡,支持高併發處理,session問題)
這裏基於上面已安裝的tomcat環境

環境 Web監聽端口 管理實例端口 站點家目錄
tomcat9_1 8081 8091 /webapps/tomcat9_1
tomcat9_2 8082 8092 /webapps/tomcat9_2

1)拷貝tomcat目錄

[root@tomcat ~]# cp -a /usr/local/apache-tomcat-9.0.21 /usr/local/tomcat9_1
[root@tomcat ~]# cp -a /usr/local/apache-tomcat-9.0.21 /usr/local/tomcat9_2

2)編輯配置文件,修改監聽端口和站點家目錄

[root@tomcat ~]# vim /usr/local/tomcat9_1/conf/server.xml
<Server port="8091" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
<Host name="localhost"  appBase="/webapps/tomcat9_1"
            unpackWARs="true" autoDeploy="true">

[root@tomcat ~]# vim /usr/local/tomcat9_2/conf/server.xml
<Server port="8092" shutdown="SHUTDOWN">
<Connector port="8082" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
<Host name="localhost"  appBase="/webapps/tomcat9_2"
            unpackWARs="true" autoDeploy="true">

3)建立站點家目錄,及測試頁面準備

[root@tomcat ~]# mkdir -p /webapps/tomcat9_{1,2}
[root@tomcat ~]# mkdir /webapps/tomcat9_{1,2}/ROOT

# tomcat9_1測試頁面準備
[root@tomcat ~]# vim /webapps/tomcat9_1/ROOT/index.jsp
<html>
<body>
<center>
<H1><%=new java.util.Date()%></H1>
<H2>tomcat9_1</H2>
</center>
</body>
</html>

# tomcat9_2測試頁面準備
[root@tomcat ~]# vim /webapps/tomcat9_2/ROOT/index.jsp
<html>
<body>
<center>
<H1><%=new java.util.Date()%></H1>
<H2>tomcat9_2</H2>
</center>
</body>
</html>

4)刪除掉以前的站點目錄裏面的東西,對這裏沒有用了。能夠直接刪掉

[root@tomcat ~]# rm -rf /usr/local/tomcat9_2/webapps/*
[root@tomcat ~]# rm -rf /usr/local/tomcat9_1/webapps/*

5)啓動tomcat1tomcat2

[root@tomcat ~]# for i in {1..2};do /usr/local/tomcat9_$i/bin/startup.sh; done

# 端口查看
[root@tomcat ~]# ss -tnlp |grep :80
LISTEN     0      100         :::8080                    :::*                   users:(("java",pid=27023,fd=54))
LISTEN     0      100         :::8081                    :::*                   users:(("java",pid=28687,fd=54))
LISTEN     0      100         :::8082                    :::*                   users:(("java",pid=28708,fd=54))
LISTEN     0      1         ::ffff:127.0.0.1:8091                    :::*                   users:(("java",pid=28687,fd=65))
LISTEN     0      1         ::ffff:127.0.0.1:8092                    :::*                   users:(("java",pid=28708,fd=66))
LISTEN     0      1         ::ffff:127.0.0.1:8005                    :::*                   users:(("java",pid=27023,fd=71))
LISTEN     0      100         :::8009                    :::*                   users:(("java",pid=27023,fd=59)

6)訪問測試

補充:Tomcat多實例啓動腳本

[root@tomcat ~]# cat TomcatSys.sh 
#!/bin/bash
#Desc:用於tomcat多實例部署啓動腳本。
#Date:2019-6-26
#by:Lee-YJ

if [ "$1" == "tomcat1" ];then
    export CATALINA_HOME="/usr/local/tomcat9_1"
elif [ "$1" == "tomcat2" ];then
    export CATALINA_HOME="/usr/local/tomcat9_2"
else
    echo $"Usage: $0 {[tomcat1|tomcat2] start|stop|restart}" && exit
fi

case "$2" in
start)
    $CATALINA_HOME/bin/startup.sh
    ;;
stop)
    $CATALINA_HOME/bin/shutdown.sh
    ;;
restart)
    $CATALINA_HOME/bin/shutdown.sh
    sleep 3
    $CATALINA_HOME/bin/startup.sh
    ;;
    *)
    echo $"Usage: $0 {[tomcat1|tomcat2] start|stop|restart}" && exit
    ;;
esac

# 使用說明:
[root@tomcat ~]# ./TomcatSys.sh tomcat1 start      #啓動tomcat1
[root@tomcat ~]# ./TomcatSys.sh tomcat1 stop       #中止tomcat1
[root@tomcat ~]# ./TomcatSys.sh tomcat2 restart    #重啓tomcat2
相關文章
相關標籤/搜索