文档章节

Apache+Tomcat + mod_jk 负载均衡

ZFrances
 ZFrances
发布于 2015/04/28 20:14
字数 820
阅读 50
收藏 0
点赞 0
评论 0

工作上的需求,跟着别人的思路走了一遍

原理的话:参考http://www.thinksaas.cn/group/topic/279676/

 

1:  配置好JAVA 与 tomcat apache环境变量

2:     tomcat配置:如果在一台机器上部署多个tomcat服务器,其中端口必须不同,并且 %CATALINA_HOME% 也需不同,避免同时启动时冲突。eg:

  2.1 : tomcat-7\bin; 修改 %CATALINA_HOME% 变量 (startup.bat  catalina.bat  setclasspath.bat)

  2.2 :   tomcat-7\conf\server.xml; 不同tomcat端口与负载节点jvmRount 均要不同

 <Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" 
   connectionTimeout="20000" acceptCount="300" maxThreads="300" maxProcessors="1000" minProcessors="5" useURIValidationHack="false" compression="on" compressionMinSize="2048" 
   compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" uRIEncoding="utf-8" redirectPort="8543" />
<Connector port="8009" maxThreads="300" minSpareThreads="50" protocol="AJP/1.3" redirectPort="8443" acceptCount="350" uRIEncoding="utf-8" jvmRoute="worker1"/>
<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker1">

3:apache\conf\httpd.conf

  最后加上:

<IfModule mpm_winnt.c>
ThreadsPerChild 2000
MaxRequestsPerChild  10000
Win32DisableAcceptEx 
</IfModule>
# module mod_jk config file  
Include conf/extra/mod_jk.conf

4: conf/extra/mod_jk.conf  :  配置负载均衡器   所有请求均需经过这层处理,再进行分发

#load module mod_jk-1.2.31-httpd-2.2.3.so is for Apache 2.2.x.  
LoadModule jk_module modules/mod_jk.so  
  
#配置 mod_jk conf  
#加载集群中的workers  
JkWorkersFile conf/workers.properties  
#加载workers的请求处理分配文件          
JkMountFile conf/uriworkermap.properties  
#指定jk的日志输出文件  
JkLogFile logs/mod_jk.log
#指定日志级别  
JkLogLevel info

5:  conf/workers.properties   tomcat集群部署

worker.list=LB_worker,jkstatus  
  
#第一个worker的配置,名为worker_1  
#tomcat的主机地址,如不为本机,请填写ip地址  
worker.worker1.host=localhost  
#ajp13 端口号,对应tomcat配置文件server.xml中Connector port="8009",默认8009  
worker.worker1.port=8009  
worker.worker1.type=ajp13  
#负载的权重值,越高表示负载越大  
worker.worker1.lbfactor=1  
 
  
#LB_worker,用于负载均衡分发的控制器  
worker.LB_worker.type=lb  
#重试次数  
worker.LB_worker.retries=3  
#指定负载的worker列表,用逗号分隔  
worker.LB_worker.balance_workers=worker1
#配置session会话是否为粘性  
#这样负载均衡器lb就会尽量保持一个session,也就是使用户在一次会话中跟同一个Tomcat进行交互  
worker.LB_worker.sticky_session=true  
#如果sticky_session设为true时,此处一般设为false  
worker.LB_worker.sticky_session_force=false  
#设置运行状态的控制器  
worker.jkstatus.type=status

6: conf/uriworkermap.properties 

#所有请求都由LB_worker这个worker处理 ,注意:请求可以直接在这过滤,添加你需要的规则((.do,*.jsp)
如果只想处理项目相关的操作, 则  /project/* = LB_worker
#所有请求
/* = LB_worker  
#所有包含jkstatus请求的都由名称叫jkstatus的这个worker处理
/jkstatus=jkstatus

 

7:modules/mod_jk.so     可直接去apache官网下载

tomcat servlet 连接apache服务器的一个apache模块

 

 部署完成后,直接启动多个tomcat进行测试,可发现一个请求可能会根据apache分发到不同服务器上操作!

 8: 日志配置

 8.1  Mysql   my.cnf

log-error="D:/mysqlLog/error.log"  
general-log=1  
general-log-file="D:/mysqlLog/mysql.log"  
long_query_time=3  
slow_query_log=1  
slow-query-log_file="D:/mysqlLog/slowquery.log"

 8.2   Tomcat 日志格式

pattern=“%h %l %T %t %r %s %b %{Referer}i %{User-Agent}i MSISDN=%{x-up-calling-line-id}i”

8.3 Apache 日志   

 #ErrorLog “|bin/rotatelogs.exe logs/vicp_net_error-%y%m%d.log 86400 480″
 #CustomLog “|bin/rotatelogs.exe logs/vicp_net_access-%y%m%d.log 86400 480″ common

8.4   mod_jk.conf 日志格式:  

#指定日志级别  
JkLogLevel info  
 
# Select the log format  
JkLogStampFormat  "[%a %b %d %H:%M:%S %Y]"  
   
# JkOptions indicates to send SSK KEY SIZE  
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories     
# JkRequestLogFormat  
JkRequestLogFormat "%w %V 8.0%T"



© 著作权归作者所有

共有 人打赏支持
ZFrances
粉丝 3
博文 5
码字总数 3335
作品 0
杨浦
程序员
1、apache与tomcat的整合

简介: apache作为主流的web服务软件之一,可以作为独立的web服务器来运行,但是只能支持静态网页,对于动态网页(asp,jsp,php,cgi等)的处理则显得无能为力。tomcat也可以作为独立的web服务器...

CARYFLASH ⋅ 2017/12/14 ⋅ 0

Apache+tomcat的整合

为什么要做这个整合呢?当然,首先想到是就是Apache和Tomcat的区别。正因为有区别,有各自的优缺点才需要整合,取二者所长,弃二者所短。 Apache和Tomcat都可以在他们的官网下载: http://ww...

imzdx ⋅ 2015/08/22 ⋅ 0

Centos基于Apache的Tomcat负载均衡和集群

Centos基于Apache的Tomcat负载均衡和集群 一、背景原理 1、tomcat 做个WEB服务器有它的局限性,处理能力低,效率低。承受并发小(1000左右)。但目前有不少网站或者页面是JSP的。并采用了tom...

liuhao_sh ⋅ 2015/08/17 ⋅ 1

apache+tomcat负载均衡中springmvc项目session遇到的问题

apache+tomcat集群的负载均衡,按照网上的教程,集群的负载均衡我用的是mod_jk的模式,在同一部机器下配置成功,我用了简单的例子去跑可以实现session的复制和session内容的共享,测试截图一如...

tuzibuluo ⋅ 2015/03/16 ⋅ 3

Apache+Tomcat集群

所需软件:Apache2.2.17,tomcat7.0.39解压版,jkmod_jk,所需软件我已经放入一个压缩文件,传到网盘上了。 一:安装Apache2.2.17,默认端口80,能访问http://localhost/,说明安装成功。 二:把...

rock912 ⋅ 2013/04/19 ⋅ 3

Apache+Tomcat集群配置(完整配置)

这几天做Apache和Tomcat集群,我测试成功了,下面给个共享: 环境说明: 系统:windows xp 服务器:apache2.2、modjk_2.2(插件和apache版本一致) 集群服务器:apache-tomcat6(分配在三台pc上...

18号 ⋅ 2013/04/12 ⋅ 1

Aphache + Tomcat 集群

apache与tomcat及整合实现负载均衡及集群(转) (1)apache与tomcat的区别: Apache是一个web服务器环境程序,可以作为web服务器使用。不过只支持静态网页,如(asp,php,cgi,jsp)等动态网页的就显...

guibawudi1985 ⋅ 2012/07/30 ⋅ 0

Apache+Tomcat集群配置

本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。 准备环境 Apache Apache是http服务器,我们利用其对Tomcat进行负载均衡...

嘻哈开发者 ⋅ 2015/07/02 ⋅ 1

Apache+Tomcat集群配置(转载)

http://www.iteye.com/topic/1017961 本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。 准备环境 Apache Apache是http服...

QAllen ⋅ 2012/04/23 ⋅ 0

Apache+Tomcat完整集群配置

本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。 准备环境 Apache Apache是http服务器,我们利用其对Tomcat进行负载均衡...

大道至精 ⋅ 2014/11/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

说说javascript中的那些专业名词

DOM(Document Object Model) 文档对象模型 BOM(Browser Object Model) 浏览器对象模型 ECMA(European Computer Manufacturer's Association) 欧洲计算机制造商协会 W3C(World Wide Web Conso......

hang1989 ⋅ 10分钟前 ⋅ 0

Bootstrap Wizard 多步表单控件

废话 有一块需求是 有多步表单 点击下一步时触发验证一个范围内的表单,点击上一步或取消,清空表单并返回第一步,点击最后一步提交整个表单的 就找到了这个插件,本来自己写了一个原生的 fo...

无极之岚 ⋅ 25分钟前 ⋅ 0

如何利用Spring Cloud构建起自我修复型分布式系统

利用Netflix所打造的组件及各类大家熟知的工具,我们完全可以顺利应对由微服务以及分布式计算所带来的技术挑战。 在过去一年当中,微服务已经成为软件架构领域一个炙手可热的新名词,而且我们...

harries ⋅ 55分钟前 ⋅ 0

临近实习前的感想

再过两星期就要开始新的一段实习了,想想去年的这个时候也在实习,心中不免思绪万千,也一直想写对2017做个总结,但一直迟迟没有下笔。 2017年的春节,我就开始准备开学后找份实习。那时候就...

无精疯 ⋅ 今天 ⋅ 0

Spring AOP(面向切面编程)

Spring AOP概念: Spring AOP 可以劫持一个执行的方法,在方法执行之前或之后添加额外的功能。通常情况下,AOP把项目中需要在多处用到的功能,比如日志、安全和事物等集中到一个类中处理,而...

霍淇滨 ⋅ 今天 ⋅ 0

人工智能、机器学习、数据挖掘以及数据分析有什么联系?

人工智能是目前炙手可热的一个领域,所有的互联网公司以及各路大迦们纷纷表态人工智能将是下一个时代的革命性技术,可与互联网、移动互联网时代的变更相媲美;AlphaGo在围棋领域战胜人类最顶...

董黎明 ⋅ 今天 ⋅ 0

使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一、 安装 node.js 首先需要安装node环境,可以直接到中...

初学者的优化 ⋅ 今天 ⋅ 0

设计模式 之 享元模式

设计模式 之 享元模式 定义 使用共享技术来有效地支持大量细粒度对象的复用 关键点:防止类多次创建,造成内存溢出; 使用享元模式来将内部状态与外部状态进行分离,在循环创建对象的环境下,...

GMarshal ⋅ 今天 ⋅ 0

SpringBoot集成Druid的最简单的小示例

参考网页 https://blog.csdn.net/king_is_everyone/article/details/53098350 建立maven工程 Pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM......

karma123 ⋅ 今天 ⋅ 0

Java虚拟机基本结构的简单记忆

Java堆:一般是放置实例化的对象的地方,堆分新生代和老年代空间,不断未被回收的对象越老,被放入老年代空间。分配最大堆空间:-Xmx 分配初始堆空间:-Xms,分配新生代空间:-Xmn,新生代的大小一...

算法之名 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部