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>
转载于:https://blog.51cto.com/wellwy/1011516