Version 1 (modified by waue, 15 years ago) (diff) |
---|
tomcat 6.x 佈署方法
http://www.cc-space.com/?p=103
目錄名 簡介 bin 存放啟動和關閉 tomcat 腳本 conf 包含不同的配置文件 ,server .xml (Tomcat 的主要配置文件) 和 web.xml work 存放 jsp 編譯後產生的 class 文件 webapp 存放應用程序示例,以後你要部署的應用程序也要放到此目錄 logs 存放日誌文件 lib 這三個目錄主要存放 tomcat 所需的 jar 文件
- conf/service.xml
<!-- port: 指定一個端口,這個端口負責監聽關閉tomcat的請求 shutdown: 指定向端口發送的命令字符串 --> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <Listener className="org.apache.catalina.core.JasperListener" /> <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <!-- GlobalNamingResources: 服務器的全局JNDI資源,可以有子標籤<Resource></Resource> --> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <!-- name: 指定service的名字 --> <Service name="Catalina"> <!-- Executor: 線程池,一個或多個Connector可以共享此線程池 name: 線程池名稱,名稱必須唯一 namePrefix: 線程的名字前綴,用來標記線程名字的,這樣每個線程就用這個前綴加上線程編號了,比如catalina-exec-1 、catalina-exec-2 maxThreads: 允許的最大線程池裡的線程數量,默認是200,大的並發應該設置的高一些,反正只是限制而已,不佔用資源 minSpareThreads: 最小的保持活躍的線程數量,默認是25.這個要根據負載情況自行調整了。太小了就影響反應速度,太大了白白佔用資源 maxIdleTime: 最小的保持活躍的線程數量,默認是25.這個要根據負載情況自行調整了。太小了就影響反應速度,太大了白白佔用資源 threadPriority: 線程的等級。默認是Thread.NORM_PRIORITY --> <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/> <!-- Connector: 表示客戶端和service之間的連接 port: 指定服務器端要創建的端口號,並在這個斷口監聽來自客戶端的請求 minProcessors: 服務器啟動時創建的處理請求的線程數 maxProcessors: 最大可以創建的處理請求的線程數 enableLookups: 如果為true,則可以通過調用request.getRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址 redirectPort: 指定服務器正在處理http請求時收到了一個SSL傳輸請求後重定向的端口號 acceptCount: 指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理 connectionTimeout: 指定超時的時間數(以毫秒為單位) --> <Connector port="8400" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9400" /> <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="9400" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="conf/localhost.keystore" keystorePass="changeit" clientAuth="false" sslProtocol="TLS" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <!-- Engine: 表示指定service中的請求處理機,接收和處理來自Connector的請求 name: defaultHost: 指定缺省的處理請求的主機名,它至少與其中的一個host元素的name屬性值是一樣的 jvmRoute: --> <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1"> <Engine name="Catalina" defaultHost="localhost"> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> <Valve className="org.apache.catalina.valves.RequestDumperValve"/> <!-- Realm: 表示存放用戶名,密碼及role的數據庫 className: 指定Realm使用的類名,此類必須實現org.apache.catalina.Realm接口 --> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <!-- Host: 表示一個虛擬主機、並且可以包含Context子節點配置虛擬目錄 name: 指定主機名 appBase: 應用程序基本目錄,即存放應用程序的目錄 unpackWARs: 如果為true,則tomcat會自動將WAR文件解壓,否則不解壓,直接從WAR文件中運行應用程序 autoDeploy: 自動部署 xmlValidation: 是否驗證xml xmlNamespaceAware: --> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> <!-- Context: host子節點配置虛擬目錄 path: 虛擬目錄名稱 docBase: 物理路徑 Debug: Debug模式 Reload: True 重新加載,修改後自動加載 --> <Context path="" docBase="\ptp" debug="0" reloadable="true" /> </Host> </Engine> </Service> </Server>