| 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 | |