Tomcat安裝及優化配置

前言:

Tomcat服務器是一個免費的開源web應用服務器,屬於輕量級應用服務器,在中小型系統和併發用戶不是很多的場合中被普遍使用,是開發和測試JSP程序的首選。一般來說,Tomcat雖然和apache或者Nginx這些web服務器一樣,具有處理HTML頁面的功能,然而由於其處理靜態頁面的能力遠不如apache或者Nginx,所以Tomcat一般是作爲一個servlet和JSP容器,單獨運行在後端。

關於Tomcat服務的各個目錄的說明及配置文件的解釋,可以參考博文:Tomcat服務器配置文件詳解,或者訪問其Tomcat官網,以閱讀官方文檔。


博文大綱:
一、部署Tomcat
二、定義Tomcat多實例
三、配置Tomcat自定義目錄
四、開啓Tomcat目錄遍歷
五、使用Tomcat實時監控JVM虛擬機資源使用情況
六、開啓JMX遠程調試功能
七、開啓mangent管理頁面

一、部署Tomcat

環境準備:

  • centos 7一臺,IP爲:192.168.20.5
  • 下載我提供的所需源碼包,並上傳至centos 7服務器。

1、開始部署

[root@tomcat ~]# rpm -qa | grep jdk       #查詢系統默認的JAVA包
java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
copy-jdk-configs-1.2-1.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
[root@tomcat ~]# rpm -e java-1.8.0-openjdk-headless --nodeps        #卸載Java1.8
[root@tomcat ~]# rpm -e java-1.7.0-openjdk-headless --nodeps        #卸載Java1.7
[root@tomcat ~]# cd /usr/src
[root@tomcat src]# rz      #上傳我提供的兩個源碼包
[root@tomcat src]# ls         #源碼包如下
apache-tomcat-8.5.35.tar.gz  jdk-8u211-linux-x64.tar.gz
[root@tomcat ~]# tar zxf jdk-8u211-linux-x64.tar.gz -C /usr/local/   #解壓JDK到指定路徑
[root@tomcat src]# tar zxf apache-tomcat-8.5.35.tar.gz   #解壓Tomcat源碼包
[root@tomcat src]# mv apache-tomcat-8.5.35 /usr/local/tomcat   #將解壓後的目錄移動到指定目錄並命名爲tomcat
[root@tomcat ~]# vim /etc/profile         #編輯環境變量,在配置文件末尾添加以下內容
export JAVA_HOME=/usr/local/jdk1.8.0_211
export JRE_HOME=/usr/local/jdk1.8.0_211/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
[root@tomcat ~]# . /etc/profile       #重新加載環境變量
[root@tomcat ~]# java -version       #查看java版本
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)
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh           #啓動Tomcat服務
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/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@tomcat src]# netstat -anput | grep 8080      #確定8080端口在監聽

至此,Tomcat服務就運行正常了,可以使用客戶端訪問Tomcat服務器IP+8080端口,可以看到以下頁面:

Tomcat安裝及優化配置

二、定義Tomcat多實例

所謂多實例,就是在一臺服務器上運行多個Tomcat服務,所以,需要注意,在定義Tomcat的多實例時,千萬不要出現端口衝突的情況。

[root@tomcat src]# cd /usr/local/           #切換至Tomcat服務的安裝目錄
[root@tomcat local]# cp -r tomcat tomcat2    #將第一個Tomcat目錄複製一份並重命名爲tomcat2。
[root@tomcat local]# vim tomcat2/conf/server.xml        #修改主配置文件中的所有端口號,防止端口衝突
#配置文件的所有端口號,除了帶註釋的外,都需要修改,
#只要配置項中帶有“port”的,並且後面是數字的,都是端口號
#由於其分散在各個行,所以這裏就不寫了,自行修改即可,我這裏都將其+1
[root@tomcat local]# cd
[root@tomcat ~]# /usr/local/tomcat2/bin/startup.sh    #使用Tomcat2啓動腳本運行Tomcat2
[root@tomcat ~]# netstat -natp | grep 8081    #確定修改後的端口在監聽

至此,第二個Tomcat實例就運行正常了,可以使用客戶端訪問Tomcat服務器IP+8081端口,可以看到以下頁面(由於是完全複製之前的Tomcat目錄,所以看到的頁面一樣):

Tomcat安裝及優化配置

三、配置Tomcat自定義目錄

[root@tomcat ~]# mkdir -p /data/project         #創建目錄
[root@tomcat ~]# cat /data/project/index1.jsp     #第一個網頁文件
aaaaaaaaaaaaaaaaaaaaaaa
[root@tomcat ~]# cat /data/project/index2.jsp   #第二個網頁文件
bbbbbbbbbbbbbbbbbbbbbbbbbbb
[root@tomcat ~]# vim /usr/local/tomcat/conf/server.xml    #編輯Tomcat主配置文件
      <Host name="localhost"  appBase="webapps"    #定位到148行左右
            unpackWARs="true" autoDeploy="true">    
                        ..........................#添加以下內容
        <Context path = "/shop" docBase="/data/project" debug="0" reloadable="false" crossContext="true">
        </Context>
#添加上述 <Context....> </Context>的配置後即可保存退出
#上述的 <Context....> </Context>標籤的另一種寫法就是<Context......./>
#在上述添加的配置解釋如下:
#Path:指出客戶端訪問的路徑;
#docBase:指定網頁的存放路徑;
#Debug:指定debug的等級爲0,輸出信息最少,9提供最多的信息;
#reloadable:爲true時表示當web.xml文件有改動的時候自動加載,不必重啓服務;
#CorssContext:爲true時,表示不同的context共享一個session(會話池)。
#重啓訪問http://192.168.20.5:8080/shop/index1/2.jsp進行驗證即可
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh        #停止Tomcat  
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh     #啓動Tomcat

訪問192.168.20.5:8080/shop/index1.jsp 進行驗證:

Tomcat安裝及優化配置

訪問192.168.20.5:8080/shop/index2.jsp 進行驗證:
Tomcat安裝及優化配置

四、開啓Tomcat目錄遍歷

在apache或Nginx中,它們的目錄遍歷是默認開啓的,而Tomcat服務,它的目錄遍歷默認是關閉的,有些情況下,我們需要開啓它的目錄遍歷功能。

1、直接訪問192.168.20.5:8080/shop/進行測試,會報錯404:

Tomcat安裝及優化配置

2、那麼,接下來開啓它的目錄遍歷功能:

[root@tomcat ~]# vim /usr/local/tomcat/conf/web.xml    #編輯這個文件
<init-param>               #定位到該標籤,110行左右
            <param-name>listings</param-name>
            <param-value>true</param-value>         #將原本的false修改爲true
#修改後,保存退出即可
#重啓Tomcat服務
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh          
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh

3、重啓後,刷新剛纔的訪問頁面,會發現網頁將其shop/指定的目錄下的所有文件都顯示出來了,如下:

Tomcat安裝及優化配置

五、使用Tomcat實時監控JVM虛擬機資源使用情況

[root@tomcat ~]# vim /usr/local/tomcat/conf/server.xml
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context path = "/shop" docBase="/data/project" debug="0" reloadable="false" crossContext="true">
        </Context>         #在下面添加一行
        <Context path = "monit" docBase="/data/monit" debug="0" reloadable="flase" crossContext="true"/>
#添加後,保存退出即可
[root@tomcat ~]# mkdir /data/monit
[root@tomcat ~]# vim /data/monit/index.jsp      #編寫監控腳本,寫入以下內容
<%
Runtime rtm = Runtime.getRuntime();
long mm = rtm.maxMemory()/1024/1024;
long tm = rtm.totalMemory()/1024/1024;
long fm = rtm.freeMemory()/1024/1024;

out.println("JVM memory detail info :<br>");
out.println("Max memory:"+mm+"MB"+"<br>");
out.println("Total memory: "+tm+"MB"+"<br>");
out.println("Free memory: "+fm+"MB"+"<br>");
out.println("Available memmory can be used is :"+(mm+fm-tm)+"MB"+"<br>");
%>
#保存後,保存退出即可
#重啓
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh          
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh

訪問192.168.20.5:8080/monit/會看到以下頁面:

Tomcat安裝及優化配置

六、開啓JMX遠程調試功能

[root@tomcat ~]# vim /usr/local/tomcat/bin/catalina.sh          #編輯其文件,跳轉文件的306行
export JDK_JAVA_OPTIONS        #在該行下面添加以下內容,定義其監聽端口爲“8888”
CATALINA_OPTS=" $CATALINA_OPTS  -Dcom.sun.management.jmxremote  -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.authenticate=true"
#添加完成後,保存退出即可
[root@tomcat ~]# cd /usr/local/jdk1.8.0_211/jre/lib/management/
[root@tomcat management]# cp jmxremote.password.template jmxremote.password
[root@tomcat management]# vim jmxremote.password       #在文件末尾寫入需要創建的用戶,如下:
ljz     123.com
#由於其是一個只讀文件,所以在寫入後,需要使用命令“wq!”以便強制保存
[root@tomcat management]# vim jmxremote.access      #編輯此文件,給用戶定義權限
#跳轉至文件末尾,添加以下配置項,也可以直接修改末尾的模板
ljz   readwrite \             #此行開頭指定的是用戶名
              create javax.management.monitor.*,javax.management.timer.* \
              unregister
#寫入以上內容後,保存退出即可
[root@tomcat management]# chmod 600 jmxremote.access jmxremote.password     #必須修改其權限爲600,否則會失敗
#重啓Tomcat服務
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh          
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh

驗證其遠程調試功能,由於其需要圖形化的支持,所以需要進入其圖形化桌面環境,下面的操作不可以在xshell上進行了:

[root@tomcat ~]# jconsole          #執行此命令
#若上述命令無法執行,則需要執行“. /etc/profile”命令,以便重新加載環境變量

執行jconsole命令後,會彈出以下界面:

Tomcat安裝及優化配置

然後點擊如下:

Tomcat安裝及優化配置

就可以看到以下界面,其中顯示的是JVM虛擬機的資源使用情況:

Tomcat安裝及優化配置

七、開啓mangent管理頁面

1、在訪問Tomcat的默認界面時,有一個“Manager App”的框,如下:

Tomcat安裝及優化配置

2、點擊進入後,會看到以下403報錯頁面(翻譯過後如下),我們需要複製它提示的代碼:

此錯誤頁面,已經將原因及該如何配置寫的明明白白的。
Tomcat安裝及優化配置

3、現在配置開啓它的manager管理頁面:

[root@tomcat ~]# vim /usr/local/tomcat/conf/tomcat-users.xml      #編輯這個文件,跳轉至文件末尾
<role rolename="manager-gui"/>
<user username="lisi" password="123.com" roles="manager-gui"/>
</tomcat-users>       #在這個閉合的標籤上面添加兩行,以便添加用戶
#添加的配置項中,“username”爲用戶名,“password”爲用戶密碼。
[root@tomcat ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml    #編輯此文件,添加允許訪問的IP
         allow="192.168.20.254|192.168.20.5|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />   
                 #在上面“allow=”後添加允許訪問的IP,以管道符“ | ”爲分割
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
#重啓服務驗證
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh          
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh

4、使用客戶端訪問它的默認首頁,然後點擊“Manager App”,會看到以下界面,輸入用戶名及密碼:

Tomcat安裝及優化配置

5、登錄後,即可看到我們的Tomcat根目錄下的自定義目錄:

Tomcat安裝及優化配置

6、下拉頁面,可以通過war包添加自定義的目錄:

1)準備war包:

[root@tomcat ~]# vim index.jsp        #編寫jsp網頁文件
test
test
[root@tomcat ~]# jar -cvf test.war index.jsp     #做成war包,名爲“test.war”

2)在web圖形界面,添加war包:
Tomcat安裝及優化配置

3)部署後,即可看到以下內容:

Tomcat安裝及優化配置

4)客戶端可以訪問TomcatIP+8080端口+/aaa進行訪問測試,其內容就是我們做的war包中的內容,如下:

Tomcat安裝及優化配置

———————— 本文至此結束,感謝閱讀 ————————

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章