(轉(zhuǎn))Tomcat配置管理文章

          Posted on 2007-06-07 09:20 yiraka 閱讀(875) 評論(0)  編輯  收藏
          (轉(zhuǎn))Tomcat配置管理文章
          1.下載:
          jakarta-tomcat-5.5.x.zip
          jakarta-tomcat-5.5.x-compat.zip
          jakarta-tomcat-5.5.x-admin.zip
          (Tomcat 默認(rèn)是沒有內(nèi)置admin模塊了
          Tomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it. )
          都解壓到同一個(gè)目錄下面。比如:D:\jakarta-tomcat-5.5.x\
          (如果使用jdk1.4,才需要compat.zip用jdk1.5就可以免了這個(gè)。)
           
          2.修改jakarta-tomcat-5.5.x\conf\tomcat-users.xml.
          添加管理員賬號(hào)lizongbo,密碼為lizongbopass.
          新xml如下:
          <?xml version='1.0' encoding='utf-8'?>
          <tomcat-users>
            <role rolename="tomcat"/>
            <role rolename="role1"/>
            <role rolename="manager"/>
            <role rolename="admin"/>
            <user username="tomcat" password="tomcat" roles="tomcat"/>
            <user username="role1" password="tomcat" roles="role1"/>
            <user username="both" password="tomcat" roles="tomcat,role1"/>
            <user username="lizongbo" password="lizongbopass" roles="admin,manager"/>
          </tomcat-users>
           
          3.修改jakarta-tomcat-5.5.x\conf\server.xml來解決編碼問題。
          (給Connector 添加URIEncoding參數(shù),參考http://blog.csdn.net/darkxie/archive/2004/10/25/TOMCATAPP.aspx)
          (可以設(shè)置成GB18030)
              <Connector port="8080"
                         maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                         enableLookups="false" redirectPort="8443" acceptCount="200"
                         connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"
                         compression="on" compressionMinSize="2048"
                noCompressionUserAgents="gozilla, traviata"
                compressableMimeType="text/html,text/xml"/>
           
              <Connector port="8009"
                         enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="GBK"/>
           

          4.啟用支持gzip壓縮.
          (http://www.linuxaid.com.cn/forum/showdoc.jsp?l=1&i=81169)
          添加下列屬性
           compression="on"
                compressionMinSize="2048"
                noCompressionUserAgents="gozilla, traviata"
                compressableMimeType="text/html,text/xml"
           
          5.設(shè)置虛擬主機(jī)。
          在jakarta-tomcat-5.5.x\下建立文件夾vhost\www.mydomain.com。
          然后修改jakarta-tomcat-5.5.x\conf\server.xml
           
          <Engine defaultHost="localhost" name="Catalina">
                <Host appBase="vhost/www.mydomain.com" name="www.mydomain.com">
                </Host>
                <Host appBase="webapps" name="localhost">
                </Host>
                <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
              </Engine>
           
          6.添加數(shù)據(jù)庫驅(qū)動(dòng),更新mail.jar和actiovation.jar
          復(fù)制mysql-connector-java-3.0.16-ga-bin.jar,pg74.215.jdbc3.jar到 jakarta-tomcat-5.5.x\common\lib\
          還有javamail 1.3.2的mail.jar,jaf-1_0_2的 activation.jar
          msSQl 2000 JDBC sp3,msbase.jar,msutil,jar,mssqlserver.jar
           
           
          7.配置SSL
          D:\j2sdk1.4.2_06\bin>%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
          輸入keystore密碼:  lizongbossl
          您的名字與姓氏是什么?
            [tomcat5.5.x]:  tomcat5.5.x
          您的組織單位名稱是什么?
            [jakarta]:  jakarta
          您的組織名稱是什么?
            [apache]:  apache
          您所在的城市或區(qū)域名稱是什么?
            [hzcity]:  hzcity
          您所在的州或省份名稱是什么?
            [gdp]:  gdp
          該單位的兩字母國家代碼是什么
            [CN]:  CN
          CN=tomcat5.5.x, OU=jakarta, O=apache, L=hzcity, ST=gdp, C=CN 正確嗎?
            [否]:  y
           
          輸入<tomcat>的主密碼
                  (如果和 keystore 密碼相同,按回車):
          (必須密碼一致,因此直接回車)
          然后再把userhome(例如:C:\Documents and Settings\lizongbo\)下的.keystore復(fù)制到
          tomcat的conf\目錄下。
           (例如:D:\jakarta-tomcat-5.5.x\conf\.keystore )
          配置jakarta-tomcat-5.5.x\conf\server.xml
          加上
              <Connector port="8443"
                         maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                         enableLookups="false" disableUploadTimeout="true"
                         acceptCount="100" scheme="https" secure="true"
                         clientAuth="false" sslProtocol="TLS"
                     keystoreFile="conf/.keystore"
                     keystorePass="lizongbossl"> <!--與先前設(shè)置的密碼一致-->
              </Connector>
          8.禁止文件目錄列表,
          修改jakarta-tomcat-5.5.x\conf\web.xml,把listing設(shè)置為false
           
              <servlet>
                  <servlet-name>default</servlet-name>
                  <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
                  <init-param>
                      <param-name>debug</param-name>
                      <param-value>0</param-value>
                  </init-param>
                  <init-param>
                      <param-name>listings</param-name>
                      <param-value>true</param-value>
                  </init-param>
                  <load-on-startup>1</load-on-startup>
              </servlet>
           
           9.指定了自己的javaEncoding

              <servlet>
                  <servlet-name>jsp</servlet-name>
                  <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
                  <init-param>
                      <param-name>fork</param-name>
                      <param-value>false</param-value>
                  </init-param>
                          <init-param>
                      <param-name>javaEncoding</param-name>
                      <param-value>GB18030</param-value>
                  </init-param>
                  <init-param>
                      <param-name>xpoweredBy</param-name>
                      <param-value>true</param-value>
                  </init-param>
                  <load-on-startup>3</load-on-startup>
              </servlet>
           10.添加rar,iso等的mime-type映射
          避免在瀏覽器里直接打開。
          <mime-mapping>
          <extension>mht</extension>
          <mime-type>text/x-mht</mime-type>
          </mime-mapping>
          <mime-mapping>
                  <extension>rar</extension>
                  <mime-type>application/octet-stream</mime-type>
              </mime-mapping>
              <mime-mapping>
                  <extension>iso</extension>
                  <mime-type>application/octet-stream</mime-type>
              </mime-mapping>
              <mime-mapping>
                  <extension>ape</extension>
                  <mime-type>application/octet-stream</mime-type>
              </mime-mapping>
              <mime-mapping>
                  <extension>rmvb</extension>
                  <mime-type>application/octet-stream</mime-type>
              </mime-mapping>
              <mime-mapping>
                  <extension>ico</extension>
                  <mime-type>image/x-icon</mime-type>
              </mime-mapping>
          10.1對html靜態(tài)頁面設(shè)置編碼
          <!--  修改下面兩行以支持靜態(tài)超文本的自動(dòng)編碼 
            -->
           
           <mime-mapping>
            <extension>htm</extension> 
            <mime-type>text/html;charset=gb2312</mime-type> 
            </mime-mapping>
           <mime-mapping>
            <extension>html</extension> 
            <mime-type>text/html;charset=gb2312</mime-type> 
            </mime-mapping>
            </web-app>
           
          11.添加welcome-file-list,并調(diào)整順序。
           <welcome-file-list>   
                  <welcome-file>index.jsp</welcome-file>
                  <welcome-file>index.html</welcome-file>
                  <welcome-file>index.htm</welcome-file>
                  <welcome-file>default.html</welcome-file>
                  <welcome-file>default.htm</welcome-file>
                  <welcome-file>default.jsp</welcome-file>
              </welcome-file-list>
          12.如果你的webapp需要只能夠進(jìn)行https方式訪問,那么在webapp的web.xml里加上:
           <security-constraint>
            <web-resource-collection>
             <web-resource-name>must https</web-resource-name>
             <url-pattern>/lizongbo/*</url-pattern>
            </web-resource-collection>
            <user-data-constraint>
             <transport-guarantee>CONFIDENTIAL</transport-guarantee>
            </user-data-constraint>
           </security-constraint>
          13.修改遠(yuǎn)程關(guān)閉服務(wù)器的命令。
          server.xml默認(rèn)有下面一行:
          <Server port="8005" shutdown="SHUTDOWN">
          這樣允許任何人只要telnet到服務(wù)器的8005端口,輸入"SHUTDOWN",然后回車,服務(wù)器立即就被關(guān)掉了。
          從安全的角度上考慮,我們需要把這個(gè)shutdown指令改成一個(gè)別人不容易猜測的字符串。
          例如修改如下:
          <Server port="8006" shutdown="lizongbo">,這樣就只有在telnet到8006,并且輸入"lizongbo"才能夠關(guān)閉Tomcat.
          注意:這個(gè)修改不影響shutdown.bat的執(zhí)行。運(yùn)行shutdown.bat一樣可以關(guān)閉服務(wù)器。
           
           
           
           
          14.配置http訪問日志。Tomcat自帶的能夠記錄的http訪問日志已經(jīng)很詳細(xì)了
          取消下面這段的注釋:
           
                  <Valve className="org.apache.catalina.valves.AccessLogValve"
                           directory="logs"  prefix="localhost_access_log." suffix=".txt"
                           pattern="common" resolveHosts="false"/>
           
          然后修改為:
                  <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
                           directory="logs"  prefix="localhost_access_log." suffix=".txt"
                           pattern="combined" resolveHosts="false" fileDateFormat="yyyy-MM-dd.HH"/>
           
          pattern="combined" 記錄的日志內(nèi)容更詳細(xì),fileDateFormat="yyyy-MM-dd.HH",會(huì)讓日志文件按小時(shí)進(jìn)行滾卷,
          比默認(rèn)的按天滾卷要好些,尤其是訪問量大的網(wǎng)站,可以考慮寫成fileDateFormat="yyyy-MM-dd.HH.mm",就會(huì)是每分鐘一個(gè)日志文件了。
          而且可以分別按Engine, Host, or Context,來記錄自己的日志
          詳情參考:
          而且還可以配合awstats來進(jìn)行日志統(tǒng)計(jì)分析: http://www.chedong.com/tech/awstats.html
           
          15.限制ip,限制主機(jī)訪問等。
          如果想禁止指定的ip或者主機(jī)名來拒絕某些機(jī)器訪問,或者指定某些機(jī)器來訪問。
          也支持分別按Engine, Host, or Context,進(jìn)行以下配置:
          <Context path="/examples" ...>  ...
            <Valve className="org.apache.catalina.valves.RemoteHostValve"
                   allow="*.mycompany.com,www.yourcompany.com"/>
            <Valve className="org.apache.catalina.valves.RemoteAddrValve"
                   deny="192.168.1.*"/>
          </Context>
          參考:
           
          16.發(fā)布webapp到網(wǎng)站根目錄
          1。直接復(fù)制到ROOT目錄下。
          2.因?yàn)闊o法創(chuàng)建無名字的xml文件,并且在xml文件里指定path也是無效的(tomcat靠文件名字來判斷的),
          因此必須在server.xml里寫下面一段:
          <Context docBase="${catalina.home}/vhost/www.lizongbo.com" path="/"
                   privileged="true" antiResourceLocking="false" antiJARLocking="false">
          <Manager className="org.apache.catalina.session.StandardManager" algorithm="SHA-512"
          entropy="suijisifuchuansuijisifuchuansuijisifuchuansuijisifuchuan"
          maxActiveSessions="800" />
                  <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
                           directory="logs"  prefix="localhost_mytest_access_log." suffix=".txt"
                           pattern="combined" resolveHosts="true" fileDateFormat="yyyy-MM-dd.HH"/>       
           
          </Context>
          而且必須把ROOT目錄刪除掉,否則Tomcat還是優(yōu)先部署ROOT目錄為"/"。
           
          17.在重新啟動(dòng)Tomcat的webapp的時(shí)候,禁止把session寫入文件。
          修改conf/web.xml
          取消注釋:
           <!---->
              <Manager pathname="" />
           
          18.增強(qiáng)SessiionID的生成算法和長度。
           

                   <Manager className="org.apache.catalina.session.StandardManager" algorithm="SHA-512" sessionIdLength="40">
                   </Manager>
           
          (默認(rèn)的是MD5,長度是16位。)
           
           
          在D:\jakarta-tomcat-5.5.8\common\classes\新建log4j.properties
           
          內(nèi)容:
          log4j.rootLogger=debug, R
          log4j.appender.R=org.apache.log4j.RollingFileAppender
          log4j.appender.R.File=${catalina.home}/logs/tomcat5.5.log
          log4j.appender.R.MaxFileSize=10MB
          log4j.appender.R.MaxBackupIndex=10
          log4j.appender.R.layout=org.apache.log4j.PatternLayout
          log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
          log4j.logger.org.apache.catalina=DEBUG, R
          log4j.logger.org.apache.catalina.core.ContainerBase.Catalina.localhost=DEBUG, R
          log4j.logger.org.apache.catalina.core=DEBUG, R
          log4j.logger.org.apache.catalina.session=DEBUG, R
          復(fù)制log4j-1.2.9.jar和commons-logging.jar到
          D:\jakarta-tomcat-5.5.8\common\lib
           
          20.使用windows域用戶驗(yàn)證
           

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          posts - 8, comments - 0, trackbacks - 0, articles - -1

          Copyright © yiraka

          主站蜘蛛池模板: 东丰县| 武汉市| 万载县| 依兰县| 福州市| 灵寿县| 兴文县| 新河县| 海兴县| 犍为县| 剑阁县| 墨江| 张家港市| 宁化县| 永城市| 临沂市| 宜州市| 兴宁市| 淮阳县| 河南省| 武城县| 土默特右旗| 竹山县| 怀仁县| 兴城市| 留坝县| 尉氏县| 新巴尔虎左旗| 包头市| 南雄市| 辽源市| 普兰县| 承德县| 徐闻县| 嵩明县| 彩票| 沧州市| 新闻| 丰镇市| 衡阳市| 阳朔县|