`
sjkgxf7191
  • 浏览: 251837 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tomcat6.x目录与server.xml详解

阅读更多

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>
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics