网上找的些tomact配置

1、配置Tomact的名称

当一台服务器启动太多的Tomact的时候,需要区别Tomact的名称,可以给启动的Tomact添加一个标题。如下:

在Tomact的bin目录下找到catalina.bat文件,用记事本打开。在中间找到  if "%TITLE%" == "" set TITLE=

在set TITLE中敲入你命名的Tomact的名称,重启Tomact即可。

2、配置Tomact的内存

在catalina.bat的第一行增加: 

Java代码: set JAVA_OPTS=-server -Xms512m -Xmx2048m -XX:PermSize=64M -XX:MaxPermSize=512m -Djava.awt.headless=true

3、配置Tomact的虚拟文件路径

Tomact中配置虚拟文件路径(主要用于附件、图片等,前端直接使用虚拟路径访问附件、图片)

比如保存一张liuyuehu.jpg的图片,使用虚拟路径访问图片的配置:

在Tomact的localhost文件夹下面images.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<Context path="images" reloadable="false" docBase="D:cdcimages"></Context>、

重启Tomact后,在浏览器中输入:http://127.0.0.1:8080/images/liuyuehu.jpg访问成功!虚拟图片路径配置成功!

4、配置Tomact中项目路径

Tomact集群时,不会采取每个Tomact都加载一份独立的代码,而使用共享同一份代码。使用tomcat配置项目路径来共享同一份代码。便于实施人员更新代码。

比如:都加载D:javaproject的代码。项目的上下文为 project(项目的上下文要和Tomact的localhost文件夹下面的文件XXX.xml名称一致)

在Tomact的localhost文件夹下面project.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/Admin" docBase="D:javaproject" debug="0" reloadable="false" ></Context>

重启Tomact后,在浏览器中输入:http://127.0.0.1:8080/project访问成功!虚拟图片路径配置成功!

5、Tomact中并发配置的优化

在Tomcat 配置文件 server.xml 中的 <Connector ... /> 配置中。

参数的说明:

minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为 10

maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为 75

acceptCount:允许的最大连接数,应大于等于 maxProcessors ,默认值为 100

enableLookups:是否反查域名,取值为: true 或 false 。为了提高处理能力,应设置为 false

connectionTimeout:网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。通常可设置为 30000 毫秒。

其中和最大连接数相关的参数为maxProcessors 和 acceptCount 。如果要加大并发连接数,应同时加大这两个参数。

web server允许的最大连接数还受制于操作系统的内核参数设置,通常 Windows 是 2000 个左右, Linux 是 1000 个左右。

更改后的配置

 

  1. <Connector port="8085" protocol="HTTP/1.1"   
  2. maxHttpHeaderSize="8192"  
  3. minProcessors="10"  
  4. maxProcessors="100"  
  5. connectionTimeout="20000"   
  6. acceptCount="1000"  
  7. disableUploadTimeout="true"  
  8. redirectPort="8443" />  
<Connector port="8085" protocol="HTTP/1.1" 
maxHttpHeaderSize="8192"
minProcessors="10"
maxProcessors="100"
connectionTimeout="20000" 
acceptCount="1000"
disableUploadTimeout="true"
redirectPort="8443" />


6、调整连接器connector的并发处理能力

Tomcat 配置文件server.xml 中的<Connector ... /> 配置中。

参数的说明:

maxThreads 客户请求最大线程数

minSpareThreads    Tomcat初始化时创建的socket 线程数

maxSpareThreads   Tomcat连接器的最大空闲socket 线程数

enableLookups     若设为true, 则支持域名解析,可把ip 地址解析为主机名

redirectPort       在需要基于安全通道的场合,把客户请求转发到基于SSL 的redirectPort 端口

acceptAccount      监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads  )

connectionTimeout   连接超时

minProcessors         服务器创建时的最小处理线程数

maxProcessors        服务器同时最大处理线程数

URIEncoding   URL统一编码

配置例子:

  1. <Connector port="9027"     
  2.     protocol="HTTP/1.1"    
  3.     maxHttpHeaderSize="8192"    
  4.     maxThreads="1000"    
  5.     minSpareThreads="100"    
  6.     maxSpareThreads="1000"    
  7.     minProcessors="100"    
  8.     maxProcessors="1000"    
  9.     enableLookups="false"    
  10.     URIEncoding="utf-8"    
  11.     acceptCount="1000"      
  12.     redirectPort="8443"      
  13.     disableUploadTimeout="true"/>   
<Connector port="9027"   
	protocol="HTTP/1.1"  
	maxHttpHeaderSize="8192"  
	maxThreads="1000"  
	minSpareThreads="100"  
	maxSpareThreads="1000"  
	minProcessors="100"  
	maxProcessors="1000"  
	enableLookups="false"  
	URIEncoding="utf-8"  
	acceptCount="1000"    
	redirectPort="8443"    
	disableUploadTimeout="true"/> 


7、Tomact中的缓存处理

Tomcat 配置文件server.xml 中的<Connector ... /> 配置中。

参数介绍:

compression打开压缩功能  

compressionMinSize  启用压缩的输出内容大小,这里面默认为2KB

compressableMimeType压缩类型

connectionTimeout定义建立客户连接超时的时间. 如果为 -1, 表示不限制建立客户连接的时间

配置例子:

  1. <Connector port="9027"     
  2.     protocol="HTTP/1.1"    
  3.     maxHttpHeaderSize="8192"    
  4.     maxThreads="1000"    
  5.     minSpareThreads="100"                      
  6.     maxSpareThreads="1000"                     
  7.     minProcessors="100"      
  8.     maxProcessors="1000"      
  9.     enableLookups="false"     
  10.     compression="on"    
  11.     compressionMinSize="2048"                   
  12.     compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"     
  13.     connectionTimeout="20000"      
  14.     URIEncoding="utf-8"                      
  15.     acceptCount="1000"                      
  16.     redirectPort="8443"      
  17.     disableUploadTimeout="true"/>  
<Connector port="9027"   
	protocol="HTTP/1.1"  
	maxHttpHeaderSize="8192"  
	maxThreads="1000"  
	minSpareThreads="100"                    
	maxSpareThreads="1000"                   
	minProcessors="100"    
	maxProcessors="1000"    
	enableLookups="false"   
	compression="on"  
	compressionMinSize="2048"                 
	compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"   
	connectionTimeout="20000"    
	URIEncoding="utf-8"                    
	acceptCount="1000"                    
	redirectPort="8443"    
	disableUploadTimeout="true"/>


8、Tomact中配置JNDI数据源

在localhost中新建一个XML文件。

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!-- docBase是项目的源代码的路径也可以是部署包的路径  path和文件名一致,也就是项目的上下文-->  
  3. <Context path="/zjwtView" docBase="D:eclipseWorkzjwtViewWebRoot" debug="0" reloadable="false" >  
  4.     <Resource name="jndi/view"  
  5.         auth="Container"  
  6.         type="javax.sql.DataSource"  
  7.         driverClassName="net.sourceforge.jtds.jdbc.Driver"  
  8.         url="jdbc:jtds:sqlserver://192.168.200.112:1433/cms_zhj_eabox"  
  9.         username="cms_zhj_eabox"  
  10.         password="p"  
  11.         maxActive="50"  
  12.         maxIdle="10"  
  13.         maxWait="10000"  
  14.         removeabandoned="true"  
  15.         removeabandonedtimeout="60"  
  16.         logabandoned="false"/>  
  17.     <ResourceLink global="UserDatabase" name="users" type="org.apache.catalina.UserDatabase"/>  
  18.     <Logger className="org.apache.catalina.logger.FileLogger" prefix="zjwtView-jndi." suffix=".log" timestamp="true"/>  
  19. </Context>  
<?xml version="1.0" encoding="UTF-8"?>
<!-- docBase是项目的源代码的路径也可以是部署包的路径  path和文件名一致,也就是项目的上下文-->
<Context path="/zjwtView" docBase="D:eclipseWorkzjwtViewWebRoot" debug="0" reloadable="false" >
    <Resource name="jndi/view"
    	auth="Container"
    	type="javax.sql.DataSource"
    	driverClassName="net.sourceforge.jtds.jdbc.Driver"
    	url="jdbc:jtds:sqlserver://192.168.200.112:1433/cms_zhj_eabox"
    	username="cms_zhj_eabox"
    	password="p"
    	maxActive="50"
    	maxIdle="10"
    	maxWait="10000"
    	removeabandoned="true"
    	removeabandonedtimeout="60"
    	logabandoned="false"/>
    <ResourceLink global="UserDatabase" name="users" type="org.apache.catalina.UserDatabase"/>
    <Logger className="org.apache.catalina.logger.FileLogger" prefix="zjwtView-jndi." suffix=".log" timestamp="true"/>
</Context>

在项目中web.xml中配置一下代码

<resource-ref>  

  1.         <res-ref-name>jndi/zjxfView</res-ref-name><!--jndi/zjxfView 就是localhost中文件的名称-->  
  2.         <res-type>javax.sql.DataSource</res-type>  
  3.         <res-auth>Container</res-auth>  
  4.         <res-sharing-scope>Shareable</res-sharing-scope>  
  5.    </resource-ref>  
<resource-ref>
        <res-ref-name>jndi/zjxfView</res-ref-name><!--jndi/zjxfView 就是localhost中文件的名称-->
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
   </resource-ref>






原文地址:https://www.cnblogs.com/i_am_me/p/4776068.html