生產環境中Tomcat的安裝與配置

來源:互聯網
上載者:User

     之前寫過一些有關Tomcat最佳化的文章http://passover.blog.51cto.com/2431658/732629),實際生產環境有些配置除了效能最佳化,還有些是方便管理。以下是我個人總結的一些經驗,主要是只考慮單個tomcat的情況,我個人更推薦前端放一個nginx來做壓縮和長串連的事情。也希望能有網友幫忙再幫忙指點更多的細節。

1. tomcat的下載與安裝

    目前tomcat最新的穩定版本是7.0.30,建議使用這個版本,看changelog是有一堆的bug fix。到官方http://tomcat.apache.org/download-70.cgi下載一個即可,解壓後即可運行。

2. jvm啟動參數的調整

    這步是非常重要,建立setenv.sh,加入自己的配置,參考配置:

 
  1. #!/bin/sh 
  2.  
  3. LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib 
  4. export LD_LIBRARY_PATH 
  5.  
  6. TOMCAT_USER=nobody 
  7. JSVC_OPTS='-jvm server' 
  8. JAVA_OPTS='-server -Xms1024m -Xmx1024m -XX:PermSize=192m -XX:MaxPermSize=192m' 

    或者偷懶點在catilina.sh檔案開頭添加,參考配置:

 
  1. JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:PermSize=192m -XX:MaxPermSize=192m" 
3. tomcat的配置最佳化

    在conf/server.xml中修改connector選項,其中compreesion參數稍微注意下是否需要開啟。參考配置:

 
  1. <Connector port="8080" protocol="HTTP/1.1" 
  2.            connectionTimeout="20000" 
  3.            redirectPort="8443" 
  4.            compression="on" 
  5.            compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json" 
  6.            useSendfile="false" 
  7.            maxThreads="150"    
  8.            minSpareThreads="20"   
  9.            acceptCount="100"  
  10.            disableUploadTimeout="true"  
  11.            enableLookups="false"    
  12.            URIEncoding="UTF-8" /> 

    在conf/server.xml中修改日誌列印,增加每個請求的回應時間輸出。參考配置:

 
  1. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
  2.                prefix="localhost_access_log." suffix=".txt" 
  3.                pattern="%h %l %u %t &quot;%r&quot; %s %b %T" /> 

  詳細配置可以參考http://tomcat.apache.org/tomcat-7.0-doc/config/http.html

4. 使用tomcat native安裝apr最佳化串連效能

    tomcat解壓包在bin/下面就能找到源檔案的tar.gz包,不用重新下載。安裝過程參見http://tomcat.apache.org/native-doc/

5. 對catalina.out日誌做每日切分

    我採用的辦法是用cronolog,可以參見http://unmi.cc/split-tomcat-catalina-out-file。這裡提一下,我直接用aptitude來安裝的,使用的時候調用的命令位置是/usr/bin/cronolog

6. 配置tomcat-users方便管理

    在conf/tomcat-users.xml中添加,參考配置:

 
  1. <role rolename="manager-gui"/> 
  2. <role rolename="admin-gui"/> 
  3. <user username="admin" password="123456" roles="manager-gui,admin-gui"/> 
7. log4j的動態載入配置

    如果不想修改一下log4j記錄層級就要重啟應用的話,這個還是挺重要的。log4j本身有個watch的功能,但是一直在那定時刷其實也不好,後來找到了個文章,覺得這個辦法非常好。直接調用一個action實現配置修改。參考資料:http://blog.sina.com.cn/s/blog_4b81125f0100fo95.html

  

總結:以上是剛剛配置新伺服器的時候想到的,隨手記錄了一下,以後有想到的新的內容再補充。各位網友可以參考以上配置,根據實際需要進行取捨和修改。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.