Tomcat安裝及優化配置

前言:java

Tomcat服務器是一個免費的開源web應用服務器,屬於輕量級應用服務器,在中小型系統和併發用戶不是不少的場合中被廣泛使用,是開發和測試JSP程序的首選。通常來講,Tomcat雖然和apache或者Nginx這些web服務器同樣,具備處理HTML頁面的功能,然而因爲其處理靜態頁面的能力遠不如apache或者Nginx,因此Tomcat通常是做爲一個servlet和JSP容器,單獨運行在後端。node

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


博文大綱:
1、部署Tomcat
2、定義Tomcat多實例
3、配置Tomcat自定義目錄
4、開啓Tomcat目錄遍歷
5、使用Tomcat實時監控JVM虛擬機資源使用狀況
6、開啓JMX遠程調試功能
7、開啓mangent管理頁面
8、開啓host-mangent管理頁面
9、Tomcat的運行日誌切割
10、定義Tomcat 404錯誤返回的頁面
11、Tomcat服務的內存優化
12、Tomcat線程池的優化
十3、修改Tomcat服務的請求方式web

1、部署Tomcat

環境準備:shell

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

注:上面的下載連接中有一個名爲「tomcat」的文件,那是tomcat服務的控制腳本,能夠將其上傳到Tomcat服務器的/etc/init.d/目錄下,而後使用chmod命令賦予其執行權限,便可實現使用此腳本對Tomcat服務進行啓動、中止、重啓等操做。apache

一、開始部署

[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安裝及優化配置

2、定義Tomcat多實例

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

[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目錄,因此看到的頁面同樣):vim

Tomcat安裝及優化配置

3、配置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安裝及優化配置

4、開啓Tomcat目錄遍歷

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

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

Tomcat安裝及優化配置

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

[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

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

Tomcat安裝及優化配置

5、使用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安裝及優化配置

6、開啓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安裝及優化配置

7、開啓mangent管理頁面

一、在訪問Tomcat的默認界面時,有一個「Manager App」的框,以下:

Tomcat安裝及優化配置

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

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

三、如今配置開啓它的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

四、使用客戶端訪問它的默認首頁,而後點擊「Manager App」,會看到如下界面,輸入用戶名及密碼:

Tomcat安裝及優化配置

五、登陸後,便可看到咱們的Tomcat根目錄下的自定義目錄:

Tomcat安裝及優化配置

六、下拉頁面,能夠經過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安裝及優化配置

8、開啓host-mangent管理頁面

一、訪問如下頁面,而後複製其提示的代碼:

Tomcat安裝及優化配置

Tomcat安裝及優化配置

[root@tomcat ~]# vim /usr/local/tomcat/conf/tomcat-users.xml  #編輯其配置文件
<role rolename="admin-gui"/>
<user username="lv" password="123.com" roles="admin-gui"/>
</tomcat-users>       #在末尾這行上面添加複製的代碼,並修改用戶名及密碼
[root@tomcat ~]# vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml       #修改這個文件
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192.168.20.254|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />  #在這行添加容許訪問的IP來源
#修改後保存退出便可
#重啓驗證
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh          
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh

二、客戶端驗證:

從新點擊,便可提示輸入密碼:

Tomcat安裝及優化配置

Tomcat安裝及優化配置

至此,便可經過此頁面管理tomcat的域名信息了,不過這個功能在生產環境中不建議使用。

9、Tomcat的運行日誌切割

cronolog是一個第三方的日誌切割工具,比較方便快捷,是日誌切割的一大利器。這裏就使用這個第三方工具。

一、上傳博文開頭下載連接中的cronolog-1.6.2.tar.gz源碼包到Tomcat服務器。

[root@tomcat ~]# tar zxf cronolog-1.6.2.tar.gz -C /usr/src     #解包
[root@tomcat ~]# cd /usr/src/cronolog-1.6.2/
[root@tomcat cronolog-1.6.2]# ./configure && make && make install    #編譯安裝
[root@tomcat cronolog-1.6.2]# which cronolog    #肯定能夠查到該命令
/usr/local/sbin/cronolog
[root@tomcat cronolog-1.6.2]# cd /usr/local/tomcat/       #切換至Tomcat主目錄
[root@tomcat tomcat]# vim bin/catalina.sh    #編輯此文件
搜索touch,而且註釋掉,如:#touch "$CATALINA_OUT"
而後跳轉到470行左右,修改以下:
      org.apache.catalina.startup.Bootstrap "$@" start  2>&1 | /usr/local/sbin/cronolog /usr/local/tomcat/logs/test.%Y-%m-%d.out >> /dev/null &
而且註釋掉473行左右的這一行,如:     #>> "$CATALINA_OUT" 2>&1 "&"
#重啓驗證
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh          
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh
#驗證:
[root@tomcat tomcat]# ls logs/    #確認該目錄下有「test.2019-10-28.out」便可
catalina.2019-10-28.log      localhost_access_log.2019-10-28.txt
catalina.out                 manager.2019-10-28.log
host-manager.2019-10-28.log  test.2019-10-28.out
localhost.2019-10-28.log

10、定義Tomcat 404錯誤返回的頁面

默認狀況,客戶端訪問Tomcat服務器上一個不存在的目錄時,會提示404錯誤,並且會將咱們Tomcat的版本信息等顯示出來,這是咱們比較忌諱的,默認的404返回的錯誤頁面以下:

Tomcat安裝及優化配置

解決辦法就是,將404狀態碼進行重定向,以便咱們自定義返回的頁面信息,以下:

[root@tomcat tomcat]# cat /usr/local/tomcat/webapps/ROOT/error.jsp
#自定義的錯誤頁面以下:
Access Error...           
[root@tomcat ~]# vim /usr/local/tomcat/conf/web.xml    #編輯該文件
  version="3.1">            #在這行下面(第22行附近)添加如下內容
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
#重啓驗證
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh          
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh

此時,再次訪問一個不存在的URL,就會看到如下頁面,以下:

Tomcat安裝及優化配置

11、Tomcat服務的內存優化

[root@tomcat ~]# vim /usr/local/tomcat/bin/catalina.sh    #編輯此文件

#!/bin/sh          #在第一行下面添加如下內容
JAVA_OPTS="-Dfile.encoding=UTF-8
-server
-Xms1023M
-Xmx1024M
-XX:NewSize=512M
-XX:MaxNewSize=1020M
-XX:NewRatio=2
-XX:ParallelGCThreads=15
-XX:+DisableExplicitGC"
#添加完成後,保存退出後,重啓Tomcat後,便可生效,
#能夠經過以前的實時監控JVM虛擬機資源使用進行查看驗證
#如果在Tomcat 8.0以前的版本,還能夠在上面添加如下兩個配置項,8.0之後的版本就被移除了:
#-XX:PermSize=256M
#-XX:MaxPermSize=356M

添加的各個配置項解釋以下:

  • -Xms:表示 JVM初始內存大小,也能夠說是Java 初始化堆的大小,-Xms 與-Xmx 設成同樣的值,避免 JVM 反覆從新申請內存,致使性能大起大落,默認值爲物理內存的 1/64
  • -Xmx:表示最大 Java 堆大小,當應用程序須要的內存超出堆的最大值時虛擬機就會提示內存溢出,而且致使應用服務崩潰,所以通常建議堆的最大值設置爲可用內存的最大值的80%。
  • -Xmn:設置JVM最小內存(128-256就夠了,通常不設置)
  • -XX:NewSize:設置新生代內存大小。 新生代,對象新建立的時候分配的內存空間,老生代在垃圾回收器回收事後該對象依然沒有被回收,該對象就會移動到老生代
  • -XX:PermSize:設置持久代內存大小,用於存放靜態文件,現在Java類、方法等。持久代對垃圾回收沒有顯著影響,可是有些應
    用可能動態生成或者調用一些class,持久帶也稱爲方法區,方法區存儲每個java類的結構信息:好比運行時常量池,字段和方法數據,構造函數和普通方法的字節碼內容以及類、實例、接口初始化時須要使用到的特殊方法等數據,JDK8中已經把持久代(PermGen Space) 幹掉了,取而代之的元空間(Metaspace)。Metaspace佔用的是本地內存,再也不佔用虛擬機內存。
  • -XX:MaxPermSize:設置最大值持久代內存大小,永久代不屬於堆內存,堆內存只包含新生代和老年代
  • -XX:NewRatio:改變新舊空間的比例,意思是新空間的尺寸是舊空間的1/8(默認爲8)
  • -XX:ParallelGCThreads 可用來增長並行度,須要多cpu
  • -XX:+DisableExplicitGC:關閉System.gc(),簡單理解就是關閉java中的內存回收機制

12、Tomcat線程池的優化

[root@tomcat ~]# vim /usr/local/tomcat/conf/server.xml   #編輯主配置文件
 <Service name="Catalina">                #在53行下添加如下內容
     <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThread="4"/>
<Connector port="8080" protocol="HTTP/1.1"          #在69行下面添加如下配置,以便進行調用
               executor="tomcatThreadPool"

上述Excutor重要參數說明:

  • name:共享線程池的名字,這是connector爲了共享線程池要引用的名字,該名稱必須惟一
  • namePrefix:在JVM上,每運行線程均可以有一個name字符串,這一屬性爲線程池中每一個線程的name字符串設置了一個前綴,Tomcat將把線程號追加到這一前綴後面,默認值爲tomcat-exec-
  • maxThreads:該線程池能夠容納的最大線程數,默認200
  • minSpareThreads:Tomcat應該始終打開的最小不活躍線程數,默認25
    Connector參數說明
  • executor:表示使用參數值對應的線程池。

十3、修改Tomcat服務的請求方式

Tomcat支持的三種請求方式:BIO、NIO、APR。

  • BIO:阻塞式I/O操做,Tomcat7如下版本默認狀況下是以bio模式運行的,每一個請求都要建立一個線程來處理,線程開銷比較大,不適用高併發的場景,性能也最低;
  • NIO:基於緩衝區,能提供非阻塞I/O操做,和傳統的BIO相比,具有更好的併發性能
  • APR(Apache portable run-time libraries):簡單理解,就是從操做系統級別解決異步IO問題,大幅度的提升服務器的處理和相應性能,也是Tomcat運行高併發的首選模式

APR提供的主要功能模塊包括:內存分配及內存池、原子操做、文件I/O、鎖、內存映射、哈希表、網絡I/O、輪詢、進程及線程操做等等,經過採用APR,Tomcat能夠得到高度可擴展性以及優越的性能,而且能夠更好的與本地服務器技術集成,從而可使Tomcat做爲一款通用的Web服務器使用,而不只僅做爲輕量級應用服務器。在這種狀況下,Java將再也不是一門側重於後端的編程語言,也能夠更多的用於成熟的Web服務器平臺。

一、更改其請求方式爲NIO(注意:Tomcat8以上版本,默認使用的就是NIO模式,不須要額外修改 )

[root@tomcat ~]# vim /usr/local/tomcat/conf/server.xml        #修改主配置文件
 <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"           #修改其protocol
               executor="tomcatThreadPool"
               connectionTimeout="20000"
               redirectPort="8443" />
#修改完成後,保存退出,重啓Tomcat服務便可

重啓後,查看其「catalina.out」日誌,有如下字樣,則表示是在nio接收請求處理方式,以下(我這裏在上面對catalina.out進行了日誌切割,因此須要查看切割後的日誌文件):
Tomcat安裝及優化配置

二、更改其請求方式爲APR模式

啓用這種模式稍微麻煩一些,須要安裝一些依賴庫,下面是基於centos 7.3環境的Tomcat/8.5.35進行配置。

1)安裝apr動態庫

[root@tomcat ~]# yum -y install apr-devel openssl-devel gcc make      #安裝所需依賴
[root@tomcat ~]# cd /usr/local/tomcat/bin/
[root@tomcat bin]# tar zxf tomcat-native.tar.gz 
[root@tomcat bin]# cd tomcat-native-1.2.18-src/native/
[root@tomcat native]# ./configure && make && make install   #安裝apr動態庫
#編譯安裝完成後,apr動態庫默認安裝在/usr/local/apr/lib目錄下。

2)配置APR本地庫到系統共享庫搜索路徑中

設置LD_LIBRARY_PATH和LD_RUN_PATH環境變量,指向/usr/local/apr/lib目錄,可配置到/etc/profile文件中。以下:

[root@tomcat native]# vim /etc/profile              #編輯全局變量,在文件末尾寫入如下兩行
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib
[root@tomcat native]# . /etc/profile        #從新加載環境變量
#重啓驗證
[root@tomcat ~]# /usr/local/tomcat/bin/shutdown.sh          
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh

重啓後,查看其「catalina.out」日誌,有如下字樣,則表示是在apr接收請求處理方式,以下(我這裏在上面對catalina.out進行了日誌切割,因此須要查看切割後的日誌文件):

Tomcat安裝及優化配置

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

相關文章
相關標籤/搜索