2019独角兽企业重金招聘Python工程师标准>>>

APACHE2.2.25+TOMCAT6.0.37配置负载均衡

目标:

使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求:

1.   Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。

2.   为系统设定 Session 超时时间,包括 Apache 和 tomcat

3.   为系统屏蔽文件列表,包括 Apache 和 tomcat

注:本例程以一台机器为例子,即同一台机器上装一个apache和4个Tomcat。

一、前期准备工作:安装用的程序(前提保证已安装了JDK1.5以上的版本)

APAHCE 2.2.25下载:httpd-2.2.25-win32-x86-no_ssl.msi

TOMCAT6.0.37下载:apache-tomcat-6.0.37-windows-x64.zip直接解压。

二、安装过程

APAHCE安装目录:D:\Apache。

四个TOMCAT目录:自行解压到(D:\Tomcat集群服务器\)下。分别为 tomcat1,tomcat2,tomcat3,tomcat4

这几个安装过程就不详细说明了。

三、配置

1、Apache配置

1.1、httpd.conf配置

修改APACHE的配置文件D:\Apache \conf\httpd.conf

将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用了代理的方法,就这么简单。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

再找到<IfModule dir_module></IfModule>加上index.jsp修改成

<IfModule dir_module>

DirectoryIndex index.html index.jsp

</IfModule>

1.1.1、  在最下面加入

<proxy balancer://cluster>

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

BalancerMember ajp://127.0.0.1:9003 loadfactor=1 route=jvm2

BalancerMember ajp://127.0.0.1:9004 loadfactor=1 route=jvm3

BalancerMember ajp://127.0.0.1:9005 loadfactor=1 route=jvm4

</proxy>

上面的四个BalancerMember成员是我们配置的tomcat集群。后面会说明的。

1.2、httpd-vhosts.conf设置

接下来进行虚拟主机的设置。APACHE的虚拟主机设置如下:

首先要修改 conf/httpd.conf找到(#Include conf/extra/httpd-vhosts.conf)

把注释去掉。

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

在文件(extra/httpd-vhosts.conf)最下面加入

<VirtualHost *:80>

ServerAdmin 360293650@qq.com

ServerName localhost

ServerAlias localhost

ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On

ProxyPassReverse / balancer://cluster/

</VirtualHost>

其中的域名和路径根据你自己情况设置

然后再设置TOMCAT虚拟主机

2 配置 tomcat

参数参考表

可先看后面的步骤在回头查看参考表,或者根据自己的端口使用情况自己定义端口的分配。

Tomcat

Service.

port

Engine.

jvmRoute

Connector.

port

Connector.

redirectPort

Receiver.

port

tomcat1

8005

jvm1

8009

8443

4000

tomcat2

8006

jvm2

9003

8444

4001

tomcat3

8007

jvm3

9004

8445

4002

tomcat4

8008

jvm4

9005

8446

4003

2.1.配置 server 的关闭

我们需要在一台机器上跑 4 个不同的 tomcat ,需要修改不同的 tomcat 的关闭口,避免出现端口被占用的情况。其中tomcat1用默认值,不修改。其他三个修改。在conf下的 server.xml 中找到 server, 将:

<Server port="8005" shutdown="SHUTDOWN">

改为

<Server port="XXXX" shutdown="SHUTDOWN">

XXXX 在这里表示不同的端口:我的其它三个 tomcat 分别使用的端口可查看参数参考表

2.2.配置 Engine

把原来的配置注释掉,把下面一句去掉注释。并标明jvmRoute="jvm2".

<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm2">

以下是原来的配置。

<!-- <Engine name="Catalina" defaultHost="localhost">  -->

其他(tomcat3和tomcat4)也要同样配置。注意:jvmRoute配置不要一样。

<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm3">

<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm4">

2.3.配置 Connector

原来的默认配置。

<!-- Define an AJP 1.3 Connector on port 8009 -->

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

这里是apache和tomcat链接的关键,前台apache就是通过AJP协议与tomcat进行通信的,以完成负载均衡的作用。也可以用HTTP协议。大家注意它们是如何连接通信的,上面的红色部分(port="8009")就是连接的接口了。

把其他三个tomcat的<Connector port="XXX" />port分别改成与上面

<proxy balancer://cluster>

#与tomcat1对应,route与<Engine jvmRoute="jvm1">对应。

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

#与tomcat2对应,route与<Engine jvmRoute="jvm2">对应。

BalancerMember ajp://127.0.0.1:9003 loadfactor=1 route=jvm2

#与tomcat3对应,route与<Engine jvmRoute="jvm3">对应。

BalancerMember ajp://127.0.0.1:9004 loadfactor=1 route=jvm3

#与tomcat4对应,route与<Engine jvmRoute="jvm4">对应。

BalancerMember ajp://127.0.0.1:9005 loadfactor=1 route=jvm4

</proxy>

中的端口对应,tomcat1 的ajp端口port:9003. Tomcat2 的ajp端口port:9004。Tomcat3 的ajp端口port:9005.一定要与上面的一致。同时也要把redirectPort的值改成唯一的,确保四个tomcat的都不一样。可查看参数参考表

2.5.配置Cluster(每个tomcat中都要修改)

原来的配置。

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

修改为以下的代码:<Receiver port=”XX”/>port也要保证唯一性。

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">

<Manager className="org.apache.catalina.ha.session.BackupManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" mapSendOptions="6"/>

<Channel className="org.apache.catalina.tribes.group.GroupChannel">

<Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/>

<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4000" selectorTimeout="100" maxThreads="6"/>

<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">

<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>

</Sender>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>

<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>

</Channel>

<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/>

<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

</Cluster>

这个设置是主要用以tomcat的集群。

转载于:https://my.oschina.net/u/1867229/blog/825844

tomcat +apache 配置集群相关推荐

  1. apache 2.4.12 + tomcat 7.0.61 + jk connectors 1.2.40实现tomcat负载均衡集群

    实验环境:     CentOS 5.11 final     hostname:T1.getg.com     IP地址:192.168.50.138 软件准备:     CentOS Linux ...

  2. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  3. Linux平台上搭建apache+tomcat负载均衡集群

    传统的Java Web项目是通过tomcat来运行和发布的.但在实际的企业应用环境中,采用单一的tomcat来维持项目的运行是不现实的.tomcat 处理能力低,效率低,承受并发小(1000左右).当 ...

  4. tomcat 配置集群

    tomcat 配置集群 缘起 tomcat自身没有集群 nginx解决tomcat集群 环境目录 字段解释 注意 注 附 缘起 起因是项目上的系统访问量过大,导致服务经常宕掉,先公司要求要对tomca ...

  5. Nginx+memcached+tomcat配置集群session共享负载均衡

    Nginx+memcached+tomcat配置集群session共享负载均衡 配置环境: windows xp下 jdk1.7.0_10      nginx-1.2.6  (附下载)      m ...

  6. 配置集群Nginx+Memcached+Tomcat集群配置

    上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助.今天在这里和大家一起学习一下配置集群 1.   Nginx Nginx是通过将多个Web Server绑定到同一个IP地址下,以实现多个WebS ...

  7. tomcat实现session集群及tomcat+memcached共享session存储(四)

    接博客nginx或httpd实现负载均衡tomcat(三) tomcat实现会话管理原理及实现: tomcat管理会话使用的专用的会话管理组件,tomcat的会话管理器有4种: 1.标准会话管理器(S ...

  8. Apache shiro集群实现 (六)分布式集群系统下的高可用session解决方案---Session共享

    Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...

  9. linux ajp集群,Apache应用集群——AJP方式

    Apache集群:ajp集群方式 1.下载并安装Apache服务器 2.修改配置文件conf/httpd.conf #修改安装路径 Define SRVROOT "/httpd-2.4.29 ...

最新文章

  1. linux运维实战练习-2016年3月4日-3月19日课程作业(练习)安排
  2. 光流 | OpenCV中的光流有关函数
  3. Java软件开发:自定义MyBatis持久层框架
  4. 计算机系统结构教程卷子,计算机系统结构试卷试题.docx
  5. 极路由4pro(HC5962)设置阿里云DDNS
  6. 平面设计师友好的免抠PNG图片素材
  7. cms文章 mysql存储_MySQL存储引擎笔记
  8. Java中sleep,wait的区别
  9. linux系统ntp服务监听端口,Linux系统 NTP服务器配置详解
  10. 测试开发如何设计测试用例
  11. java俄罗斯方块论文,java俄罗斯方块论文
  12. 有关CATIA软件的几个使用技巧
  13. dev 饼形图_是时候与饼形图分手了
  14. word2016文档怎样添加封面?简单技巧!word文档如何设置加入封面?
  15. 电脑远程开机pcie卡
  16. 高分子专业计算机建模,高分子与计算机模拟.doc
  17. Java 代码分享(第4篇),绘制迷宫2 绘制起点终点和路径
  18. 【论文翻译】HCGN:面向集体分类的异构图卷积网络深度学习模型
  19. 推荐一个rss源搜索引擎
  20. 什么是 infiniband

热门文章

  1. usb otg vnc linux,20131126版本后,可以从PC通过USB-OTG VNC到pcDuino
  2. 软件测试技术qtp,51Testing独家连载:(四十一)精通QTP——自动化测试技术领航
  3. 力改变物体形状举例_人教版八年级物理下册第七章《力》知识点大全
  4. markdown格式_第1篇:如何将Markdown笔记转入ANKI复习? | 学习骇客
  5. 获取php.ini配置信息,获得php所对应的配置文件(php.ini)信息
  6. java实验1机动车实验目的_《Java程序设计》实验指导书.doc
  7. 创建mysql数据库图解_mysql数据库怎么创建外键?(图文+视频)
  8. linux优化pdf,linux系统安全和优化.pdf
  9. html链接word,word添加网址超链接方法
  10. ecshop category.php?id=4,categoryall.php