tomcat配置文件分析之server.xml
2013-03-09 14:08
615 查看
开篇提醒: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" debug="0" /> <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> <parameter> <name>pathname</name> <value>conf/tomcat-users.xml</value> </parameter> </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>
配置数据源: <?xml version="1.0" encoding="UTF-8"?> <Context path="/aaa-app" docBase="D:\\WORK\\AAA\\AAA-BRANCH\\8GBranch\\src\\applications\\aaa-app\\target\\aaa-app" reloadable="false"> <Resource auth="Container" url="jdbc:oracle:thin:@localhost:1521:i18n" driverClassName="oracle.jdbc.driver.OracleDriver" name="jdbc/IpbDB" username="aaa8gbranch" password="exigen" factory="org.apache.commons.dbcp.BasicDataSourceFactory" type="javax.sql.DataSource" testOnBorrow="true" testOnReturn="true" timeBetweenEvictionRunsMillis="60000" maxActive="20" maxIdle="5" maxWait="5000" /> <Manager pathname="" checkInterval="60" maxActiveSessions="-1" maxInactiveInterval="60" debug="0" algorithm="MD5" entropy="12345" distributable="false"/> </Context> Context 1. Context:表示一个web应用程序,通常为WAR文件 2. docBase:应用程序的路径或者是WAR文件存放的路径 3. path:表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/aaa-app 4. reloadable:这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序 Resource 1.name,指定JDNI名称(可以自己随意定义) 2.auth,表示认证方式,一般为Container 3.type,数据源类型,使用标准的javax.sql.DataSource 4.maxActive,连接池最大的数据库连接数 5.maxIdle,最大的空闲连接数 6.logAbandoned,被丢弃的数据库连接是否做记录,以便跟踪 7.username,数据库用户名 8.password,数据库用户的密码 9.driverClassName,JDBC Driver 10.url,数据库的URL地址 Tomcat JNDI Resource Common Process 第一步,在$CATALINA_HOME$/conf/server.xml配置文件中添置相关Resource信息: Xml代码 <Resource> ... ... </Resource> 第二步,在$CATALINA_HOME$/conf/web.xml配置文件中引用上面的Resource信息: Xml代码 <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/mysql</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> 第三步,在$CATALINA_HOME$/conf/catalina/localhost目录下找到需要进行数据库连接的当前程序的配置信息 譬如:aaa-app.xml,添加如下配置片段: Java代码 <Context> ... ... <ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSource"> ... ... </Context>
相关文章推荐
- Tomcat----分析 server.xml 文件和配置 appache tomcat 服务器
- tomcat配置文件分析--server.xml
- 详解 Tomcat 配置文件 server.xml
- 服务器使用Tomcat配置server.xml文件通过域名直接跳转到项目
- tomcat8性能优化之server.xml配置文件
- Tomcat Server.xml配置文件
- tomcat配置文件server.xml详解 .
- tomcat配置文件server.xml具体解释
- tomcat配置文件server.xml详解
- 【2011/2/28】关于Tomcat的conf/server.xml文件中上面配置 context的reloadable属性的时候,区分path和docBase二者的意义
- tomcat 的 server.xml配置文件
- tomcat配置文件server.xml详解
- Tomcat Server.xml配置文件
- 详解Tomcat 配置文件server.xml
- Tomcat配置文件server.xml中host和context
- Tomcat 的server.xml配置文件基本配置
- tomcat配置文件server.xml详解
- log4j无日志生成? 我将一个web项目部署在tomcat server.xml配置文件中,当我启动tomcat是无日志输出。
- 详解 Tomcat 配置文件 server.xml
- tomcat配置文件web.xml与server.xml解析--重要