tomcat虚拟目录安装及其配置

85530194 2014-07-28

1.-------------------------------------------tomcat  目录结构

  • config:存放tomcat的配置文件
  • temp  :存放tomcat跑起来后存放临时文件用的
  • work   : 当第一次访问应用中的jsp文件时,tomcat首先会用这个jsp文件生成servlet的java文件,然后将其编译成.classes,存放在这个目录
  • webapps : web应用默认存放的目录
  • temp
  • logs:存放tomcat的日志目录
  • lib   :存放tomcat的jar文件

2.-------------------------------------------tomcat部署的几种方式

    直接把应用拷贝到{TOMCAT_HOME}/webapps下面,启动tomcat就可以

          这种默认的部署方式就不多说了

  1. 虚拟目录安装第一种:

     进入{TOMCAT_HOME}/conf目录中,修改server.xml

        在<host/>节点中添加(如果是多个项目,可以写多个)

        <Context path="/hello" docBase="G:/display/test.war" debug="0" privileged="true"></Context>

       参数含义:

  •  path:指定访问该Web应用的名称
  • docBase:指定Web应用的文件路径;如果是war包,必须加上后缀
  • reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动, 如果监测到有class文件被更新的,服务器会自动重新加载Web应用,(设置为true,则Tomcat将支持热部署,会自动检测web的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的JSP和Servlet,我们可以在不重起Tomcat的情况下改变web)

  2、虚拟目录安装第二种:

     在{TOMCAT_HOME}/conf/catalina/localhost目录下新建xml,名字可以随便(没有就创建这个目录,注意大小写)

     在文件中加入如下内容:

     

<Context path="/hello" docBase="G:/display/test" debug="0" privileged="true"></Context>

      参数的含义,跟上面第一种是一样

      注意事项:

            1.新建的xml文件的名称,将作为访问应用的名称,这里的path将没有意义:建议改成如下

             <Context docBase="G:/display/test" debug="0" privileged="true"></Context>

            2.如果有多个应用,那么就配置多个xml,记住一个xml中只可以有一个Context

            3.如果应用启动了,如果再加入xml文件,应用会动态被tomcat加载

虚拟目录安装比较:

            虚拟目录1和虚拟目录2最大的区别在于:第一种方式如果tomcat启动了,再加入Context,那么tomcat必须重新启动才能加载应用

             第二种种方式如果tomcat启动了,再加入xml文件,tomcat会在运行时动态加载应用

3.-------------------------------------------service.xml简单说明:

 注意如下:

  1. server.xml是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载
<Server port="8005" shutdown="SHUTDOWN">
port:指定一个端口,这个端口负责监听关闭Tomcat的请求

    

<Service name="Catalina">
    <!--Connector
	  - port:连接tomcat服务器的端口号,用来侦听客户端的请求
	  - protocol:协议,例如下面的protocol="HTTP/1.1" 就是http协议,说明此端口是用来侦听http协议的端口
	  - connectionTimeout:等待超时的时间数(以毫秒为单位)(default=”60000″)
	  - redirectPort:服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号,
	                 所有的Connector设定建议相同,这样就可以统一处理
	  - enableLookups:如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端  
                       的实际主机名;若为false则不进行DNS查询,而是返回其ip地址  
      - acceptCount:当所有可以使用的,处理请求的线程都被用光时,可以放到处理队列中的请求数,超过这个数  
                    的请求将不予处理,而返回Connection refused错误 
	  - maxThreads:设定在监听端口的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目.默认值为200
	  - address:连接器所绑定的IP地址,当一台服务器存在多个ip地址时可以指定其中的需要绑定的一个,
				默认不设置该属性的值表示绑定当前服务器的所有ip地址

	  - minProcessors:服务器启动时创建的处理请求的线程数,每个请求由一个线程负责 
	  - maxProcessors:最多可以创建的处理请求的线程数  
	  - minSpareThreads:最小备用线程
	  - maxSpareThreads:最大备用线程
	  - maxPostSize:(default=2097152 即2MB) 最大允许 POST 上传的数据大小(单位为:字节),对于一般网站来说,
	                 比如有写评论写文章的网站,默认的2MB已经足够,不过如果网站带有图片甚至文件上传功能,则需要根据具体情况来定。
	  - debug:日志等级  
	  - disableUploadTimeout:禁用上传超时,主要用于大数据上传时 
	  - (像solr服务器通常是要中文的,必须配置)配置tomcat支持URL中文参数,只需添加Connector的URIEncoding参数即可,默认情况下该参数未被配置。
	    要支持URL参数支持中文,加上URIEncoding="UTF-8"就行了
	  -->
    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
               redirectPort="8443" />
    
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <!-- Engine
	  -   每个Service元素只能有一个Engine元素
	  -   name:对应$CATALINA_HOME/config/Catalina中的Catalina  
	  -   localhost:对应Host元素中的name属性,也就是和$CATALINA_HOME/config/Catalina/localhost中的localhost  
	  -->
    <Engine name="Catalina" defaultHost="localhost">
	  <!-- Realm
	    - 
	    -->
      <Realm className="org.apache.catalina.realm.LockOutRealm">
             <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                    resourceName="UserDatabase"/>
      </Realm>
      <!-- Host
        - appBase:就是设置web应用的存放位置,默认为webapps         
		- unpackWARs:如果为true,则tomcat会自动将WAR文件解压;否则不解压,直接从WAR文件中运行应用程序
        - autoDeploy:默认为true,表示如果有新的WEB应用放入appBase 并且Tomcat在运行的情况下,自动载入应用
        -->
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
		 <Context path="/solr"   docBase="D:/display/solr.war"   debug="0" privileged="true">  
                <Environment  name="solr/home"   
                              type="java.lang.String"   
                              value="D:/display/home" override="true"/>  
        </Context>  
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>

 

 

 

4.-------------------------------------------web.xml简单说明:

1.默认(欢迎)文件的设置,代码如下:

<welcome-file-list>
	<welcome-file>index.html</welcome-file>
	<welcome-file>index.htm</welcome-file>
	<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

 2.回话超时设置(单位/分钟)

<session-config>
        <session-timeout>30</session-timeout>
    </session-config>

 2.如下节点的说明

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    把false改为true,如果等于false访问http://IP:8080/search/update/,那么是不能访问webapp下面的目录结构:--默认为fasle

5.-------------------------------------------tomcat-users.xml简单说明

tomcat权限

<role rolename="manager"/>  
<role rolename="manager-gui"/>  
<role rolename="admin"/>  
<role rolename="admin-gui"/>  
<role rolename="manager-script"/>  
<role rolename="manager-jmx"/>  
<role rolename="manager-status"/>  
<user username="admin" password="admin123" roles="admin-gui,admin,manager-gui,manager,manager-script,manager-jmx,manager-status"/>

相关推荐