tomcat優化

安裝過程就不多說了,本次主要說明我在實際工作中的一些優化。   

1,修改tomcat的運行模式,常見的有 bio,nio, apr三種   

我選擇的apr模式,這種對tomcat的性能有較大提高.

a:可以根據壓力測試工具來進行測試觀察。(其實我沒對修改apr模式后壓測,我直接問百度的)

b:重新啟動tomcat后,在catalina.out中可以看到啟動消耗了多少時間,改成apr模式后時間更短   

好,現在開始安裝:  

先安裝 apr

tar xzf apr-1.5.2.tar.gz  

cd apr-1.5.2

./configure –prefix=/usr/local/apr 

#如果有報一個不能rm的錯,可以把configure中的 RM='$RM'改為RM='$RM  -f'     

make  

sudo make install   

 

再安裝 apr-iconv  

tar xzf apr-iconv-1.2.1.tar.gz   

cd apr-iconv-1.2.1   

./configure –prefix=/usr/local/apr-iconv –with-apr=/usr/local/apr   

make  

sudo make install    

 

 

然后安裝 apr-util   

 

tar xzf apr-util-1.5.4.tar.gz 

cd apr-util-1.5.4

./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr –with-apr-iconv=/usr/local/apr-iconv/bin/apriconv     

make   

sudo make install      

最后安裝 tomcat-native

進入tomcat安裝目錄下面的bin目錄下:

cd /usr/local/tomcat/bin/    

tar xzf tomcat-native.tar.gz  

cd tomcat-native-1.2.5-src/native

./configure –with-apr=/usr/local/apr –with-java-home=/usr/java/latest   

make   

sudo make install

添加環境變量

vi /etc/profile #在文件末尾處添加下面的變量 

 

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

然后執行下面命令,使環境變量即時生效 

source /etc/profile    

然后重啟tomcat服務器,去catalina.out 中看到是否有如下內容:

 Loaded APR based Apache Tomcat Native library 1.2.5 using APR version 1.5.2.   

 "http-apr-8080"

 

 如果日志中有報這樣的錯誤: failed to initialize the sslengine 

 做如下修改:   

 <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />   

#############################################

2,關閉用不到的日志 (視自己情況而定)   

vim /usr/local/tomcat/conf/logging.properties     

blob.png       

3,最好不要使用多虛擬主機,Tomcat 是多線程,共享內存,任何一個虛擬主機中的應用出現崩潰,會影響到所有應用程序。防止因為一個虛擬主機出問題而影響其他虛擬主機??梢杂枚鄬嵗?,每個站點一個實例,采用多個實例方式雖然開銷比較大,但保證了應用程序隔離與安全      


4,  

隱藏tomcat版本:   

先來看一下網頁上故意輸錯一個url會顯示如下的tomcat版本信息:

blob.png       

在lib目錄下手動創建一個文件:   

mkdir -p org/apache/catalina/util   

cd  org/apache/catalina/util    

vim ServerInfo.properties   添加如下內容:  

server.info= welcome to kongzhong.com     

然后重新tomcat,再此刷新頁面就會看到修改后的版本信息   

有的公司可能自定義了404頁面,可以忽略此優化項

blob.png   


5,應用程序安全 

server.xml中修改下面的設置:

關閉war自動部署 unpackWARs="false" autoDeploy="false"。防止被植入木馬等惡意程序

關閉 reloadable="false" 也用于防止被植入木馬       

 

6,關閉DNS反向查詢
<Connector port=8080 中加入如下參數

enableLookups="false"

 

7,注釋掉 tomcat-user.xml 里面的用戶 


###########################################   


還有很多優化項,比如jvm調優,maxThreads 調優,這些等以后再補充?,F在該下班了!

原創文章,作者:Net-18-黑人,如若轉載,請注明出處:http://www.www58058.com/20710

(1)
Net-18-黑人Net-18-黑人
上一篇 2016-06-28
下一篇 2016-06-28

相關推薦

  • N21天天第十六周課程練習

    1、源碼編譯安裝LNMP架構環境; 一、安裝Nginx 1、解決依賴 [root@localhost ~]# yum groupinstall 開發工具 服務器平臺開發 -y 2、安裝 [root@localhost ~]# tar xf pcre-8.37.…

    Linux干貨 2016-12-14
  • Sed及Vim作業

      Sed及Vim作業題:     1、刪除/etc/grub2.conf文件中所有以空白開頭的行行首的空白字符    [root@localhost 7 ~]# sed -r  's/^[[:space:]]…

    Linux干貨 2016-08-09
  • 【社招】【小米-北京】運維開發工程師

    【社招】【小米-北京】運維開發工程師 【工作地點】北京市海淀區安寧莊東路72號科利源大廈 【薪酬福利】15k-30k 期權獎勵、六險一金、水果花茶、班車、健身房、食堂 【投遞方式】郵件主題“崗位+姓名”發送至lipengcheng3@xiaomi.com   崗位職責: 提高系統運維的自動化,主要包括運維平臺、PaaS、監控系統,自動化部…

    Linux干貨 2017-07-28
  • awk簡介

    Awk介紹 ? 報告生成器,格式化文本輸出 gawk:模式掃描和處理語言 基本用法: Awk [option] ?‘program’?var=value file Awk [ option] ?-F ???programfile var =value file ??F指明分隔符 Awk [option ] ??‘BEGIN’{ACTION…} ?…

    Linux干貨 2018-01-02
  • shell通配符與正則表達式

        通配符是系統level的 而正則表達式需要相關工具的支持: egrep, awk, vi, perl。在文本過濾工具里,都是用正則表達式,比如像awk,sed等,是針對文件的內容的。通配符多用在文件名上,比如查找find,ls,cp,等等。 1.通配符       (1)…

    Linux干貨 2016-02-28
  • 學習標準I/O和管道的心得體會

    重定向、標準輸出、標準輸入、標準錯誤、管道的命令整理

    2017-11-20

評論列表(1條)

  • stanley
    stanley 2016-06-28 11:38

    文章有待提高呀~

欧美性久久久久