集​群​t​o​m​c​a​t​+​a​p​a​c​h​e​配​置​文​档

http://wenku.baidu.com/link?url=M_Lt07e-9KTIHucYgJUCNSxkjWThUuQ2P8axn8q6YmY_yQw7NmijQoDA2wKmi_FQUxwO6OijsQKtrLr79cXBN3iiapOP5Z3BG6tI9w3fWyu
----------------------------------------------------------------------------------------- 
  

#

指定分发,对

jsp

文件等动态请求交给

tomcat

处理

,"controller"

为在

workers.propertise

里指

定的负载分配控制器
JkMount /*.jsp controller 
 

JkMount /*/servlet/* controller 

JkMount /application/*

controller

JkMount /*.gif 
 

controller 

  

#

如果还要指定

*.do

也进行分流就再加一行

 

  

JkMount /*.do controller 
#

关掉主机

Lookup

,如果为

on

,很影响性能,可以有

10

多秒钟的延迟。

 

HostnameLookups Off 

 

  

############################################################################### 

  

3. 

 

在

 

D:Apache2.2conf 

下建立

 

workers.properties

 

文件

 

  

###################

内容如下

################################################### 

  

wworker.list = controller,tomcat121,tomcat122 

 

 

#server 

列表

 

  

#========tomcat121======== 

  

worker.tomcat121.port=8009 

 

#ajp13 

端口号,在

tomcat

下

server.xml

配置

,

默认

8009 

  

worker.tomcat121.host=192.168.2.121 

  

#tomcat

的主机地址,如不为本机,请填写

ip

地址
  

worker.tomcat121.type=ajp13 

worker.tomcat121.lbfactor = 1 

 
#server

的加权比重,值越高,分得的请求越多

 

  

#========tomcat122======== 

#

注意可能要改成一样的

8009  
 
 

worker.tomcat122.port=8009 

 
#ajp13 

端口号,在

tomcat

下

server.xml

配置

,

默认

8009 

  

worker.tomcat122.host=192.168.2.122 

#tomcat

的主机地址,如不为本机,请填写

ip

地址

 

worker.tomcat122.type=ajp13  

worker.tomcat122.lbfactor = 1 

 

#server

的加权比重,值越高,分得的请求越多

 
#========controller,

负载均衡控制器

======== 

  

worker.controller.type=lb  

worker.controller.balance_workers=tomcat121,tomcat122 

#

指定分担请求的

tomcat 

 
worker.controller.sticky_session=true 

 
#

是否需要会话复制,如果设为

true

,则表明为会话粘性,不进行会话复制,当某用户的请

求第一次分发到哪台

Tomcat

后,

后继的请求会一直分发到此

Tomcat

服务器上处理;

如果设

为

false

,则表明需求会话复制
。
worker.loadbalancer.sticky_session_force=true 
#

此参数表明如果集群中某台

Tomcat

服务器在多次请求没有响

 

应后,是否将当前的请求,

转发到其它

Tomcat

服务器上处理;此参数在

sticky_session=true

时,影响比较大,会导致转

发到其它

 

Tomcat

服务器上的请求,找不到原来的

session

,所以如果此时请求中有读取

session

中某些信息的话,就会导致应用的

null

异常。
############################################################################### 
4. 
找到

D:Apache2.2conf

http.conf

,

这个文件,在它的最后加入下面内容
############################################################################### 

#

指定

mod_jk

配置文件路径

 

D:Apache2.2confmod_jk.conf 

  

#

也可以如下表示

  

Include conf/mod_jk.conf  
 
 

把

  

<IfModule dir_module> 

    DirectoryIndex index.html 

</IfModule> 

改为

  

<IfModule dir_module>  

    

DirectoryIndex index.jsp index.html 

</IfModule>  

取消以下注释

 

#EnableMMAP off 

#EnableSendfile off 

改为

  

EnableMMAP off 

EnableSendfile off  

#Include conf/extra/httpd-mpm.conf 

改为

  

Include conf/extra/httpd-mpm.conf  

#Include conf/extra/httpd-default.conf 

改为

 
Include conf/extra/httpd-default.conf  
############################################################################## 

5

.修改

conf/extra/

httpd-mpm.conf

配置

############################################################################## 

# worker MPM  

# StartServers: initial number of server processes to start  

# MaxClients: maximum number of simultaneous client connections  

# MinSpareThreads: minimum number of worker threads which are kept spare 

# MaxSpareThreads: maximum number of worker threads which are kept spare 

# ThreadsPerChild: constant number of worker threads in each server process 

# MaxRequestsPerChild: maximum number of requests a server process serves  
 
 

<IfModule mpm_worker_module> 

  

#ServerLimit

是活动子进程数量的硬限制,

  

#

默认最大的子进程总数是

16

,最大值是

20000

)

  

#ThreadsPerChild

乘以

ServerLimit 

大于等于

MaxClients 
 

ServerLimit 


60 

#

由主控制进程生成

"startservers"

个子进程,每个子进程中包含固定的

"threadsperchild"

线程

数,各个线程独立地处理请求
 

StartServers 
 

5 

 
#maxclients

设置了所有子进程中的线程总数

 

#MaxClients

必须是

ThreadsPerChild

的整数倍
MaxClients 

3000 
  

#

这两个参数对

apache

的性能影响并不大,可以按照实际情况相应调节

MinSpareThreads 


25 
MaxSpareThreads 

75 
#threadsperchild

的最大缺省值是

64

,
  

#

加大时需要显式声明

ThreadLimit

指令,它的最大缺省值是

20000 
 

ThreadsPerChild 
50 

  
#MaxRequestsPerChild

设置的是每个子进程可处理的请求数。

  
#

每个子进程在处理了

"MaxRequestsPerChild" 

个请求后将自动销毁。

 

#0

意味着无限,即子进程永不销毁

MaxRequestsPerChild 
0 

  

#

注意

 

ThreadsPerChild*ServerLimit >= MaxClients 

</IfModule> 

# WinNT MPM  

# ThreadsPerChild: constant number of worker threads in the server process 

# MaxRequestsPerChild: maximum 

 

number of requests a server process serves 

<IfModule mpm_winnt_module> 
 

ThreadsPerChild 
250 
MaxRequestsPerChild 

0 

</IfModule> 

  

############################################################################## 

5

.

Tomcat

机器的配置如下

: 

D:	omcat121confserver.xml  

Connector port="8080 

改成了

8888 

另外一台改成

9999 

  

jvmRoute="jvm1"

分别修改为

jvmRoute="tomcat121"

另外一台改成

jvmRoute="tomcat122" 

  

#

配置了

jvmRoute,

,一次会话,就有一个

sessionID

,这个

sessionID

后面会跟上

jvmRoute

设置的值,所以一次会话,会让同一个

tomcat

处理

 

  

tomcat 

最

多

支

持

500

个

并

发

访

问

,

优

化

tomcat

配

置

:

maxThreads="500" 

minSpareThreads="400"

 

 

 

  

以下是配集群要用到的

 

  

对于要进行负载和集群的的

tomcat

目录下的

webapps

中的应用中的

WEB-INF

中的

web.xml

文件要添加如下一句配置

 

  

D:	omcat121webapps

应用网站

WEB-INFweb.xml 

文件,加了这一行

 

  

 

 

 

<distributable/> 

</web-app> 

 

 

 

 

  
原文地址:https://www.cnblogs.com/softmans/p/3765802.html