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

时间:2021-01-31 11:26:52
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.2\conf 下建立 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.2\conf\ http.conf , 这个文件,在它的最后加入下面内容
############################################################################### # 指定 mod_jk 配置文件路径 D:\Apache2.2\conf\mod_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:\tomcat121\conf\server.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:\tomcat121\webapps\ 应用网站 \WEB-INF\web.xml 文件,加了这一行 <distributable/> </web-app>