tomcat的目錄如下:
目錄名 簡介
bin 存放啓動和關閉 tomcat 腳本
conf 包含不同的配置文件 ,server .xml (Tomcat 的主要配置文件) 和 web.xml
work 存放 jsp 編譯後產生的 class 文件
webapp 存放應用程序示例,以後你要部署的應用程序也要放到此目錄
logs 存放日誌文件
lib 這三個目錄主要存放 tomcat 所需的 jar 文件
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>