apache+tomcat+jk 负载均衡初篇
2015-11-19 23:27
411 查看
起因 : 说起和负载均衡还是在我面试的时候被面试官问到,正好项目当中有用redis 实现分布式session 的管理,这才让我想写一篇关于负载均衡的文章
首先我不会介绍tomcat 如何安装的问题,jdk 环境变量如何配置的,还是需要有一定开发基础的
那么为什么会采用 apache+tomcat+jk 呢 我觉得学习一个东西先慢慢的找资料,然后一步一步了解,比较,学习的一个过程 其实还有 nginx 也可以实现
首先呢先简单介绍下 apache 服务器实现了什么 apache 可以处理静态页面 而 tomcat 在处理动态展现的时候比较好,apache 可以充当分发角色 可以配置多个tomcat 来实现负载均衡
我的版本是 tomcat-6.0 左右就可以 apache 是 2.4x 左右 jdk 1.7 windows 7 我会写出我配置的详细步骤,及遇到的一些问题
tomcat 下载地址
http://tomcat.apache.org/
apache 服务器下载地址
http://httpd.apache.org/
首先把下载的tomcat 复制一份 分别叫tomcat1,tomcat2 进行解压
然后把apache 解压目录如下:
![](http://img.blog.csdn.net/20151120093455157?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
然后打开conf 目录编辑httpd.conf 在最后加入一行
Include conf/mod_jk.conf
然后在conf 目录下创建mod_jk.conf 文件 内容如下
首先我要简单介绍下 mod_jk.so 是个什么 在apache 和 tomcat 整合中它其实起到了重要作用
下载地址
http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-connectors/jk/binaries/windows/ 记住选择和apache 相对应的版本即可
下载过了解压会有mod.jk.so 文件然后你知道放在哪里了吧,把文件放到我们apache 的modules 目录中你懂得。
在介绍下 workers.properties 里面是什么,同时也是需要我们在conf 目录下面创建的,里面主要是负载的一些配置
然后是不是就搞定了呢 当然不是了,还需要配置tomcat,由于tomcat 默认就是8009 记住我说的不是访问端口往下看你就明白了
我们tomcat1 改动不大,直接修改tomcat2 配置如下
1)修改 server.xml 文件中
<Server port="8105" shutdown="SHUTDOWN"> 原来是8005 为了避免和tomcat1 的重复 port 可以随便不固定
2)由于我们的访问端口都是8080 所以需要修改下
<Connector port="9999" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" />
3)是重点了
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" /> 知道8190 指的是哪里吧,就是workers.properties tomcat2配置的端口了
4)往下
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2"> jvmRoutue 改成我们配置的, 记住tomcat1 里面的也要改下 改成tomcat1 我就不多说了
在里面添加
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
是不是很简单啊,基本tomcat 的已经配置完成了
启动的顺序最好是
apache tomcat
然后先启动 apache 解压的bin 目录有启动httpd.exe 如果你没jdk 配置环境变量窗口会一闪而过,然后你会发现你你jdk 配置了也会一闪而过
原因就是我们需要配置 apache 的 httpd.exe -k install -n apache2.4 具体咋配置我忘了 不行你在查查吧
如果配置好了会多个
![](http://img.blog.csdn.net/20151120095847881?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
启动就好了
然后你就可测试了 localhost/test 是走apache 的 你可以后台打印出语句 然后把其中tomcat 关掉另一个也可以使用
由于,我之前并没有接触过这类的,可能说的并不是特别对但是 程序是没有问题的,建议大家多多查找资料,共同提高
首先我不会介绍tomcat 如何安装的问题,jdk 环境变量如何配置的,还是需要有一定开发基础的
那么为什么会采用 apache+tomcat+jk 呢 我觉得学习一个东西先慢慢的找资料,然后一步一步了解,比较,学习的一个过程 其实还有 nginx 也可以实现
首先呢先简单介绍下 apache 服务器实现了什么 apache 可以处理静态页面 而 tomcat 在处理动态展现的时候比较好,apache 可以充当分发角色 可以配置多个tomcat 来实现负载均衡
我的版本是 tomcat-6.0 左右就可以 apache 是 2.4x 左右 jdk 1.7 windows 7 我会写出我配置的详细步骤,及遇到的一些问题
tomcat 下载地址
http://tomcat.apache.org/
apache 服务器下载地址
http://httpd.apache.org/
首先把下载的tomcat 复制一份 分别叫tomcat1,tomcat2 进行解压
然后把apache 解压目录如下:
然后打开conf 目录编辑httpd.conf 在最后加入一行
Include conf/mod_jk.conf
然后在conf 目录下创建mod_jk.conf 文件 内容如下
LoadModule jk_module modules/mod_jk.so JkWorkersFile conf/workers.properties #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器 JkMount /*.jsp controller
首先我要简单介绍下 mod_jk.so 是个什么 在apache 和 tomcat 整合中它其实起到了重要作用
下载地址
http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-connectors/jk/binaries/windows/ 记住选择和apache 相对应的版本即可
下载过了解压会有mod.jk.so 文件然后你知道放在哪里了吧,把文件放到我们apache 的modules 目录中你懂得。
在介绍下 workers.properties 里面是什么,同时也是需要我们在conf 目录下面创建的,里面主要是负载的一些配置
worker.list = controller,tomcat1,tomcat2 #tomcat1 worker.tomcat1.port=8009 worker.tomcat1.host=localhost worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor=1 #tomcat2 worker.tomcat2.port=8109 worker.tomcat2.host=localhost worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor=2 #========controller======== worker.controller.type=lb worker.controller.balance_workers=tomcat1,tomcat2 worker.lbcontroller.sticky_session=0 worker.controller.sticky_session_force=true worker.connection_pool_size=3000 worker.connection_pool_minsize=50 worker.connection_pool_timeout=50000
然后是不是就搞定了呢 当然不是了,还需要配置tomcat,由于tomcat 默认就是8009 记住我说的不是访问端口往下看你就明白了
我们tomcat1 改动不大,直接修改tomcat2 配置如下
1)修改 server.xml 文件中
<Server port="8105" shutdown="SHUTDOWN"> 原来是8005 为了避免和tomcat1 的重复 port 可以随便不固定
2)由于我们的访问端口都是8080 所以需要修改下
<Connector port="9999" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" />
3)是重点了
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8109" protocol="AJP/1.3" redirectPort="8443" /> 知道8190 指的是哪里吧,就是workers.properties tomcat2配置的端口了
4)往下
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2"> jvmRoutue 改成我们配置的, 记住tomcat1 里面的也要改下 改成tomcat1 我就不多说了
在里面添加
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
是不是很简单啊,基本tomcat 的已经配置完成了
启动的顺序最好是
apache tomcat
然后先启动 apache 解压的bin 目录有启动httpd.exe 如果你没jdk 配置环境变量窗口会一闪而过,然后你会发现你你jdk 配置了也会一闪而过
原因就是我们需要配置 apache 的 httpd.exe -k install -n apache2.4 具体咋配置我忘了 不行你在查查吧
如果配置好了会多个
启动就好了
然后你就可测试了 localhost/test 是走apache 的 你可以后台打印出语句 然后把其中tomcat 关掉另一个也可以使用
由于,我之前并没有接触过这类的,可能说的并不是特别对但是 程序是没有问题的,建议大家多多查找资料,共同提高
相关文章推荐
- eclipse +tomcat 部署class not found处理记录
- Linux\CentOS系统下的服务器搭建,下载编译环境,安装vsFtpd、nginx、MySQL、JDK、Tomcat、PHP
- Windows添加Tomcat6.0到本地服务 实现自动启动
- Tomcat虚拟路径的配置
- tomcat源代码系列--请求处理过程
- MyEclipse + Tomcat 热部署问题
- 数据库连接配置1 -- Tomcat 中的 JDBC Pool
- [CVE:2013-4810]Apache Tomcat/JBoss远程命令执行
- Tomcat 配置eclipse环境变量
- safari浏览器 session tomcat服务器
- SSH整合时tomcat启动报错问题
- centos7 增加tomcat开机 启动
- 提升tomcat服务器性能的七条经验
- tomcat 性能优化
- 一次使用Eclipse Memory Analyzer分析Tomcat内存溢出
- Server Tomcat v7.0 Server at localhost failed to start.
- maven 部署到 tomcat ,maven 结合spring,springmvc 出现的问题
- Tomcat Web服务器的配置及详解
- Tomcat8启动闪退问题的解决办法
- Tomcat 服务器详解