天天看点

***tomcat配置文件server.xml详解

Tomcat下conf下server.xml的文件配置信息,基本上不用做任何修改就可以使用,修改的地方就是host区域的一些配置,此文件设置端口为80。

注意:Tomcat配置文件中(即server.xml文件)不能出现中文,否则服务是无法启动的。

<!-- Server中的port监听关闭tomcat的请求,shutdown指定向端口发送的命令串-->  

<Server port="8005" shutdown="SHUTDOWN" debug="0">  

   <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"  

             debug="0"/>  

   <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"  

   <GlobalNamingResources>  

     <Environment name="simpleValue" type="java.lang.Integer" value="30"/>  

     <Resource name="UserDatabase" auth="Container"  

               type="org.apache.catalina.UserDatabase"  

        description="User database that can be updated and saved">  

     </Resource>  

     <ResourceParams name="UserDatabase">  

       <parameter>  

         <name>factory</name>  

   <!--value与Logger差不多prefix和suffix解释一样,className指定value使用的类名如:org.apache.catalina.values.AccessLogValve类可以记录应用程序的访问信息,directory指定log 文件存放位置,pattern有两值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。 combined方式比common记录更多-->  

         <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>  

       </parameter>  

         <name>pathname</name>  

         <value>conf/tomcat-users.xml</value>  

     </ResourceParams>  

   </GlobalNamingResources>  

   <Service name="Catalina">  

     <!-- Connector中的port创建服务器端的端口号,此端口监听用户端的请求  

maxThreads最大可以创建请求的线程数  

minSpareThreads服务启动时创建的处理请求的进程数  

enableLookups如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址  

redirectPort指定服务器正在处理http请求时收到一个SSL传输请求后重定向的端口号  

acceptCount指定当处理请求线程都被使用时,可以放入处理队列的数目,超出将不进行处理  

connectionTimeout指定超时的时间数(毫秒)-->  

     <Connector port="80"  

                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  

                enableLookups="false" redirectPort="8443" acceptCount="100"  

                debug="0" connectionTimeout="20000"  

                disableUploadTimeout="true" />  

     <Connector port="8009"  

                enableLookups="false" redirectPort="8443" debug="0"  

                protocol="AJP/1.3" />  

<!--Engine指定缺省的处理请求主机名,需要有一个与host元素的name属性一致-->  

     <Engine name="Catalina" defaultHost="localhost" debug="0">  

       <!--logger中表示日志信息className为指定logger使用的类名此类必须实现 org.apache.catalina.Logger接口prefix指定log文件的前缀,suffix指定后缀,timestamp如果为true 则log文件名中加入时间-->  

       <Logger className="org.apache.catalina.logger.FileLogger"  

               prefix="catalina_log." suffix=".txt"  

               timestamp="true"/>  

    <!--Realm存放用户名密码及role数据库,className指定Realm使用的类名必须实现org.apache.catalina.Realm接口-->  

       <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  

                  debug="0" resourceName="UserDatabase"/>  

        <!--host中name是指定的主机名或ip,appBase应用程序目录,unpackWARs如果为true则会自动解压war文件直接运行否则不解压-->  

   <Host name="192.168.4.247" debug="0" appBase="D:/project/hbgs_dddu/webapps"  

        unpackWARs="true" autoDeploy="true"  

        xmlValidation="false" xmlNamespaceAware="false">  

   <!--logger中表示日志信息className为指定logger使用的类名此类必须实现 org.apache.catalina.Logger接口prefix指定log文件的前缀,suffix指定后缀,timestamp如果为true 则log文件名中加入时间-->  

         <Logger className="org.apache.catalina.logger.FileLogger"  

                  directory="logs"   prefix="localhost_log.zx" suffix=".txt"  

             timestamp="true"/>  

   <!--Context一个web应用程序通常为war文件,关于war的具体信息见servlet规范,docBase应用程序的路径或者war 文件的存放路径,path表示此web程序的url前缀,reloadable如果为true,Tomcat会自动检测应用程序的变化,自动装载新的应用程序,那么改变代码将不用再次重新启动tomcat-->  

   <Context path="" docBase="D:/project/hbgs_dddu/webapps" debug="0" reloadable="true"/>  

   </Host>  

     </Engine>  

   </Service>  

</Server>  

注意:

<!--Context一个web应用程序通常为war文件,关于war的具体信息见servlet规范,docBase应用程序的路径或者war 文件的存放路径,path表示此web程序的url前缀,reloadable如果为true,Tomcat会自动检测应用程序的变化,自动装载新的应用程序,那么改变代码将不用再次重新启动tomcat-->  

   <Context path="" docBase="D:/project/hbgs_dddu/webapps" debug="0" reloadable="true"/>  

path表示此web程序的url前缀,path为空,那么访问的时候,就不用输入咯

比如一般访问主页是:http://localhost/mobile ;如果这里的path为空,这么就可以直接用http://localhost/去访问项目主页

reloadable如果为true,Tomcat会自动检测应用程序的变化,自动装载新的应用程序,那么改变代码将不用再次重新启动tomcat

如何联系我:【万里虎】www.bravetiger.cn

【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起)

【博客】http://www.cnblogs.com/kenshinobiy/