|   | 1 | {{{ | 
                  
                          |   | 2 | #!html | 
                  
                          |   | 3 | <div style="text-align: center; color:#151B8D"><big style="font-weight: bold;"><big><big> | 
                  
                          |   | 4 | tomcat 6.x 佈署方法 | 
                  
                          |   | 5 | </big></big></big></div> <div style="text-align: center; color:#7E2217"><big style="font-weight: bold;"><big> | 
                  
                          |   | 6 |  | 
                  
                          |   | 7 | </big></big></div> | 
                  
                          |   | 8 | }}} | 
                  
                          |   | 9 | [[PageOutline]] | 
                  
                          |   | 10 |  | 
                  
                          |   | 11 | http://www.cc-space.com/?p=103 | 
                  
                          |   | 12 |  | 
                  
                          |   | 13 |  || 目錄名  ||     簡介 ||  | 
                  
                          |   | 14 |  || bin ||              存放啟動和關閉 tomcat 腳本 ||  | 
                  
                          |   | 15 |  || conf         ||     包含不同的配置文件 ,server .xml (Tomcat 的主要配置文件) 和 web.xml ||  | 
                  
                          |   | 16 |  || work         ||     存放 jsp 編譯後產生的 class 文件 ||  | 
                  
                          |   | 17 |  || webapp       ||     存放應用程序示例,以後你要部署的應用程序也要放到此目錄 ||  | 
                  
                          |   | 18 |  || logs         ||     存放日誌文件 ||  | 
                  
                          |   | 19 |  || lib  ||             這三個目錄主要存放 tomcat 所需的 jar 文件 ||  | 
                  
                          |   | 20 |  | 
                  
                          |   | 21 |  | 
                  
                          |   | 22 |  * conf/service.xml | 
                  
                          |   | 23 | {{{ | 
                  
                          |   | 24 | #!xml | 
                  
                          |   | 25 |  <!-- | 
                  
                          |   | 26 |  port: 指定一個端口,這個端口負責監聽關閉tomcat的請求 | 
                  
                          |   | 27 |  shutdown: 指定向端口發送的命令字符串 | 
                  
                          |   | 28 |  -->  | 
                  
                          |   | 29 | <Server port="8005" shutdown="SHUTDOWN"> | 
                  
                          |   | 30 |   | 
                  
                          |   | 31 |   <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> | 
                  
                          |   | 32 |   <Listener className="org.apache.catalina.core.JasperListener" /> | 
                  
                          |   | 33 |   <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" /> | 
                  
                          |   | 34 |   <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> | 
                  
                          |   | 35 |   | 
                  
                          |   | 36 |   <!-- | 
                  
                          |   | 37 |   GlobalNamingResources: 服務器的全局JNDI資源,可以有子標籤<Resource></Resource> | 
                  
                          |   | 38 |   -->  | 
                  
                          |   | 39 |   <GlobalNamingResources> | 
                  
                          |   | 40 |     <Resource name="UserDatabase" auth="Container" | 
                  
                          |   | 41 |               type="org.apache.catalina.UserDatabase" | 
                  
                          |   | 42 |               description="User database that can be updated and saved" | 
                  
                          |   | 43 |               factory="org.apache.catalina.users.MemoryUserDatabaseFactory" | 
                  
                          |   | 44 |               pathname="conf/tomcat-users.xml" /> | 
                  
                          |   | 45 |   </GlobalNamingResources> | 
                  
                          |   | 46 |   | 
                  
                          |   | 47 |   <!-- | 
                  
                          |   | 48 |   name: 指定service的名字 | 
                  
                          |   | 49 |   --> | 
                  
                          |   | 50 |   <Service name="Catalina"> | 
                  
                          |   | 51 |   | 
                  
                          |   | 52 |     <!-- | 
                  
                          |   | 53 |         Executor: 線程池,一個或多個Connector可以共享此線程池 | 
                  
                          |   | 54 |     name: 線程池名稱,名稱必須唯一 | 
                  
                          |   | 55 |     namePrefix: 線程的名字前綴,用來標記線程名字的,這樣每個線程就用這個前綴加上線程編號了,比如catalina-exec-1 、catalina-exec-2 | 
                  
                          |   | 56 |         maxThreads: 允許的最大線程池裡的線程數量,默認是200,大的並發應該設置的高一些,反正只是限制而已,不佔用資源 | 
                  
                          |   | 57 |     minSpareThreads: 最小的保持活躍的線程數量,默認是25.這個要根據負載情況自行調整了。太小了就影響反應速度,太大了白白佔用資源 | 
                  
                          |   | 58 |         maxIdleTime: 最小的保持活躍的線程數量,默認是25.這個要根據負載情況自行調整了。太小了就影響反應速度,太大了白白佔用資源 | 
                  
                          |   | 59 |     threadPriority: 線程的等級。默認是Thread.NORM_PRIORITY | 
                  
                          |   | 60 |     --> | 
                  
                          |   | 61 |     <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"  | 
                  
                          |   | 62 |         maxThreads="150" minSpareThreads="4"/> | 
                  
                          |   | 63 |   | 
                  
                          |   | 64 |   | 
                  
                          |   | 65 |     <!-- | 
                  
                          |   | 66 |         Connector: 表示客戶端和service之間的連接 | 
                  
                          |   | 67 |         port: 指定服務器端要創建的端口號,並在這個斷口監聽來自客戶端的請求 | 
                  
                          |   | 68 |         minProcessors: 服務器啟動時創建的處理請求的線程數 | 
                  
                          |   | 69 |         maxProcessors: 最大可以創建的處理請求的線程數 | 
                  
                          |   | 70 |         enableLookups: 如果為true,則可以通過調用request.getRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址 | 
                  
                          |   | 71 |         redirectPort: 指定服務器正在處理http請求時收到了一個SSL傳輸請求後重定向的端口號 | 
                  
                          |   | 72 |         acceptCount: 指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理 | 
                  
                          |   | 73 |         connectionTimeout: 指定超時的時間數(以毫秒為單位) | 
                  
                          |   | 74 |     --> | 
                  
                          |   | 75 |     <Connector port="8400" protocol="HTTP/1.1"  | 
                  
                          |   | 76 |                connectionTimeout="20000"  | 
                  
                          |   | 77 |                redirectPort="9400" /> | 
                  
                          |   | 78 |   | 
                  
                          |   | 79 |     <Connector executor="tomcatThreadPool" | 
                  
                          |   | 80 |                port="8080" protocol="HTTP/1.1"  | 
                  
                          |   | 81 |                connectionTimeout="20000"  | 
                  
                          |   | 82 |                redirectPort="8443" /> | 
                  
                          |   | 83 |   | 
                  
                          |   | 84 |     <Connector port="9400" protocol="HTTP/1.1" SSLEnabled="true" | 
                  
                          |   | 85 |                maxThreads="150" scheme="https" secure="true" | 
                  
                          |   | 86 |                keystoreFile="conf/localhost.keystore" keystorePass="changeit" | 
                  
                          |   | 87 |                clientAuth="false" sslProtocol="TLS" /> | 
                  
                          |   | 88 |   | 
                  
                          |   | 89 |     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> | 
                  
                          |   | 90 |   | 
                  
                          |   | 91 |         <!-- | 
                  
                          |   | 92 |         Engine: 表示指定service中的請求處理機,接收和處理來自Connector的請求 | 
                  
                          |   | 93 |         name: | 
                  
                          |   | 94 |         defaultHost: 指定缺省的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的 | 
                  
                          |   | 95 |         jvmRoute: | 
                  
                          |   | 96 |     --> | 
                  
                          |   | 97 |     <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">          | 
                  
                          |   | 98 |     <Engine name="Catalina" defaultHost="localhost"> | 
                  
                          |   | 99 |   | 
                  
                          |   | 100 |       <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> | 
                  
                          |   | 101 |   | 
                  
                          |   | 102 |       <Valve className="org.apache.catalina.valves.RequestDumperValve"/> | 
                  
                          |   | 103 |   | 
                  
                          |   | 104 |       <!-- | 
                  
                          |   | 105 |           Realm: 表示存放用戶名,密碼及role的數據庫 | 
                  
                          |   | 106 |           className: 指定Realm使用的類名,此類必須實現org.apache.catalina.Realm接口 | 
                  
                          |   | 107 |       --> | 
                  
                          |   | 108 |       <Realm className="org.apache.catalina.realm.UserDatabaseRealm" | 
                  
                          |   | 109 |              resourceName="UserDatabase"/> | 
                  
                          |   | 110 |   | 
                  
                          |   | 111 |       <!-- | 
                  
                          |   | 112 |           Host: 表示一個虛擬主機、並且可以包含Context子節點配置虛擬目錄 | 
                  
                          |   | 113 |           name: 指定主機名 | 
                  
                          |   | 114 |           appBase: 應用程序基本目錄,即存放應用程序的目錄 | 
                  
                          |   | 115 |           unpackWARs: 如果為true,則tomcat會自動將WAR文件解壓,否則不解壓,直接從WAR文件中運行應用程序 | 
                  
                          |   | 116 |           autoDeploy: 自動部署 | 
                  
                          |   | 117 |           xmlValidation: 是否驗證xml | 
                  
                          |   | 118 |           xmlNamespaceAware: | 
                  
                          |   | 119 |       --> | 
                  
                          |   | 120 |       <Host name="localhost"  appBase="webapps" | 
                  
                          |   | 121 |             unpackWARs="true" autoDeploy="true" | 
                  
                          |   | 122 |             xmlValidation="false" xmlNamespaceAware="false"> | 
                  
                          |   | 123 |   | 
                  
                          |   | 124 |         <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> | 
                  
                          |   | 125 |   | 
                  
                          |   | 126 |         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"   | 
                  
                          |   | 127 |                prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> | 
                  
                          |   | 128 |   | 
                  
                          |   | 129 |                 <!-- | 
                  
                          |   | 130 |             Context: host子節點配置虛擬目錄 | 
                  
                          |   | 131 |             path: 虛擬目錄名稱 | 
                  
                          |   | 132 |                 docBase: 物理路徑 | 
                  
                          |   | 133 |                 Debug: Debug模式 | 
                  
                          |   | 134 |                 Reload: True 重新加載,修改後自動加載 | 
                  
                          |   | 135 |         --> | 
                  
                          |   | 136 |                 <Context path="" docBase="\ptp" debug="0" reloadable="true" /> | 
                  
                          |   | 137 |       </Host> | 
                  
                          |   | 138 |     </Engine> | 
                  
                          |   | 139 |   </Service> | 
                  
                          |   | 140 | </Server> | 
                  
                          |   | 141 | }}} | 
                  
                          |   | 142 |  | 
                  
                          |   | 143 | http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html | 
                  
                          |   | 144 |  |