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

     之前寫過一些有關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

  

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

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