文档章节

Apache整合Tomcat,负载均衡,session共享

张先生Ricky
 张先生Ricky
发布于 2017/09/10 12:56
字数 592
阅读 20
收藏 0

1、把mod_jk.so手工copy进我们的Apache安装目录的modules目录下

mod_jk.so下载地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/

2、打开Apache安装目录的conf目录下的httpd.conf文件,在文件最后添加

#以下是我加的
include conf/mod_jk.conf

3、在同目录下新建文件mod_jk.conf,并添加如下内容

###加载 mod_jk 模块
LoadModule jk_module modules/mod_jk.so

###配置 mod_jk
#加载集群中的workers
JkWorkersFile conf/workers.properties

#加载workers的请求处理分配文件
JkMountFile conf/uriworkermap.properties

#指定jk的日志输出文件
JkLogFile logs/mod_jk.log

#指定日志级别
JkLogLevel warn

4、在同目录下新建文件workers.properties,并添加如下内容

# worker列表
worker.list = controller

#========tomcat1========
#ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.port=8009
#tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
#server的加权比重,值越高,分得的请求越多
worker.tomcat1.lbfactor = 1

#========tomcat2========
worker.tomcat2.port=9009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1

#========controller,负载均衡控制器,用于负载均衡========
worker.controller.type=lb
#重试次数
worker.retries=3
#指定分担请求的server列表,用逗号分隔
worker.controller.balanced_workers=tomcat1,tomcat2

worker.controller.sticky_session=0
worker.controller.sticky_session_force=0

5、在同目录下新建文件uriworkermap.properties,并添加如下内容

#所有请求都由controller这个server处理
/*=controller

#所有包含MyProject请求都由controller这个server处理
/MyProject/*=controller

#所有以.gif结尾的请求都不由controller这个server处理,以下几个都是一样的意思
!/*.gif=controller
!/*.jpg=controller
!/*.png=controller
!/*.css=controller
!/*.js=controller
!/*.htm=controller
!/*.html=controller

#这里的!相当于“非”

6、将Tomcat复制一份,打开Tomcat下conf文件夹下的server.xml文件 将带红框处的端口号修改为未使用的端口号,AJP/1.3的端口号还要与前面workers.properties文件里设置的一样

7、给Engine标签加上jvmRoute="tomcat1",此处的tomcat1需要与前面workers.properties文件里的名称一致,反注释Cluster标签

8、最后修改web应用WEB-INF目录下的web.xml文件在**</web-app>前加<distributable/>(这个是tomcat进行session复制所必须的,否则session不能进行复制!)或者改变Tomcat的content.xml配置文件,修改<Context distributable="true">**

**注意:**如果是在同一台机器上配置多个tomcat实例来进行集群的测试,那么请一定要注意tomcat实例运行的端口和 集群所监听的端口是否冲突!

© 著作权归作者所有

共有 人打赏支持
张先生Ricky
粉丝 0
博文 18
码字总数 3663
作品 0
泸州
程序员
浅谈web应用的负载均衡、集群、高可用(HA)解决方案

1、熟悉几个组件 1.1、apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安全Socket层(...

stone_
2016/05/04
273
0
浅谈web应用的负载均衡、高可用、群集

1、熟悉几个组件 1.1、apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安全Socket层(...

壹休哥
2016/11/06
0
0
Apache+Tomcat整合

步骤: 安装Apache基本模块 后台监控 负载均衡简单测试 配置Tomcat相关模块(AJP) 保持Session唯一,粘性会话 Tomcat集群,Session复制 1.安装Apache相关模块 负载均衡需要的主要是代理模块...

罗荣熙
2012/09/11
0
0
九、参考资料

《实战 Nginx:取代Apache的高性能Web服务器》 《nginx的五种负载均衡算法》 《Nginx服务器优化》 《nginx 解决session共享》 《nginx tomcat session复制》 《UNIX下Apache 简介及基本配置》...

孟飞阳
2016/08/07
30
0
Tomcat 负载均衡及cluster session

一、nginx负载均衡tomcat 二、apache基于http负载均衡tomcat 三、apache基于ajp负载均衡tomcat 四、haproxy负载均衡tomcat 五、tomcat cluster session 一、nginx负载均衡tomcat 环境: IP:1...

ckl893
2017/01/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

1、Vue解决安卓4.4不兼容的问题

1.npm安装 npm install babel-polyfill--save-devnpm install es6-promise--save-dev package.json中会出现 "babel-polyfill": "^6.26.0","es6-promise": "^4.1.1", 2.main.js引入 impo......

阿K1225
12分钟前
0
0
mybatis generator 属性详解

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis......

太黑_thj
16分钟前
1
0
windows nvm 安装 node

nvm 是 node 的版本控制管理 下面是下载 nvm 的地址,选择 nvm-setup.zip 下载 https://github.com/coreybutler/nvm-windows/releases 就是下一步下一步,一键安装 基本命令有: nvm arch [32...

U_I_A_N
18分钟前
0
0
js判断字符串中是否包含某个字符串

indexOf() indexof()方法可以返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回-1。 var str = "123";console.log(str.indexOf("3") != -1);...

小星星_cjx
30分钟前
0
0
函数式组件完整例子

之前创建的组件是比较简单,没有管理或者监听任何传递给他的状态,也没有生命周期方法。它只是一个接收参数的函数。 在下面这个例子中,我们标记组件为 functional,这意味它是无状态 (没有响...

tianyawhl
33分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部