趁最后一天假期,配置linux环境下的apache集群,巩固下,免的以后用到又忘记,网上东拼息凑,环境弄好后,整到blog,以便以后用到。

参考来源:http://www.linuxidc.com/Linux/2011-03/32859.htm

我用的版本:

httpd-2.2.21.tar.gz

apache-tomcat-6.0.32.tar.gz

jdk-6u26-linux-i586.bin

jdk,和tomcat 环境配置忽略

a.在 /opt目录新增apache目录并将httpd-2.2.21.tar.gz copy到改目录中.

cd /opt

mkdir apache

tar zxf  httpd-2.2.21.tar.gz

cd httpd-2.2.21

然后配置 httped prefix

./configure --prefix=/opt/web/apache2 --enable-mods-shared=most # --prefix后面的红色路径可以根据实际情况自定义

然后屏幕会显示一大堆配置信息,完成后

make #开始编译

make install #编译后,进入安装阶段

cd /opt/solft/apache2/bin

./apachectl -k start #启动apache服务

如果如下提示信息,代表成功了

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

在浏览器中输入http://127.0.0.1/ 就可以看到 It works!
b.开始安装 mod_proxy.so和mod_proxy_ajp.so,mod_proxy_balancer.so模块
cd /opt/apache/httpd-2.2.21/modules/proxy
/opt/web/apache2/bin/apxs -i -a -c mod_proxy.c proxy_util.c
/opt/web/apache2/bin/apxs -i -a -c mod_proxy_ajp.c ajp*.c
/opt/web/apache2/bin/apxs -i -a -c mod_proxy_balancer.c

c.配置httpd.conf
vim /opt/web/apache2/conf/httpd.conf
ProxyPass /images ! 
ProxyPass /css ! 
ProxyPass /js !

ProxyRequests Off
ProxyPass /examples balancer://mycluster/ stickysession=JSESSIONID

ProxyPassReverse /examples balancer://mycluster/ stickysession=JSESSIONID
<Proxy balancer://mycluster>
     BalancerMember ajp://192.168.1.102:8009/examples/ route=worker1 loadfactor=1
     BalancerMember ajp://192.168.1.102:8909/examples/ route=worker2 loadfactor=1
</Proxy>
SetHandler balancer-manager

如图

#上面ip端口红色部分与apache-tomcat-x.x.x/config/server.xml  中<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 中的端口保持一直

d.编辑tomcat1/apache-tomcat-6.0.32/config/server.xml

server.xml文件,如果tomcat在不同机器上,则不需要修改,本人环境是本机上测试.所以其中的一个tomcat的端口一定要修改

需要修改的地方(红色部分)

<Connector port="8080" protocol="HTTP/1.1"
             connectionTimeout="20000"
             redirectPort="8443" />

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

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

把这段信息<Engine name="Catalina" defaultHost="localhost"/>

用下面的配置信息覆盖,如果在本机中红色端口需要修改,jvmRoute参数不能一样

<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker1"/>

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
          <Manager className="org.apache.catalina.ha.session.DeltaManager"
                   expireSessionsOnShutdown="false"
                   notifyListenersOnReplication="true"/>

<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="192.168.1.102"
                      port="4000"
                      autoBind="100"
                      selectorTimeout="5000"
                      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"/>
          </Channel>

<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
          <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

<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.JvmRouteSessionIDBinderListener"/>
          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
     </Cluster>

e.配置tomcat.x.x.x/webapps/examples/WEB-INF/web.xml,加上红色部分,以支持seesion复制

在<webapp>

...........

.........

<distributable/>

</webapp>

最后.复制tomcat下webapps下的文件到 /opt/web/apache2/htdocs

cp –R  /opt/web/tomcat1/apache-tomcat-6.0.32/webapps/* /opt/web/apache2/htdocs

到这里负载均衡和session复配置已经完成

开始启动 apache2

cd /opt/web/apache2/bin

./apachectl -k start

启动2个tomcat

cd /opt/web/tomcat2/apache-tomcat-6.0.32/bin

./start.sh

cd /opt/web/tomcat1/apache-tomcat-6.0.32/bin

./start.sh

测试session 复制

http://192.168.1.102/examples/servlets/servlet/SessionExample

查看负载均衡

http://192.168.1.102/balancer-manager

但是有个问题,如果session有很多对象,而对象又不停的变化,这就使得seesion会消耗很大性能.

网上查了下,可以用memcached来做缓存应用.有时间再把这个整理下

转载于:https://www.cnblogs.com/montya/archive/2011/10/07/2190688.html

linux tomcat集群配置笔记相关推荐

  1. window xp Apache与Tomcat集群配置--转载

    转载地址:http://www.cnblogs.com/obullxl/archive/2011/06/09/apache-tomcat-cluster-config.html 一. 环境说明 Win ...

  2. 大数据互联网架构 tomcat集群配置时三个端口的作用

    tomcat集群配置时三个端口的作用 在配置多个tomcat时需要同时配置这三个端口 Connector用于监听请求 protocol: http/1.1协议 , 用于监听浏览器发送的请求 , 设置成 ...

  3. Apache + Tomcat集群配置详解(1)

    Apache + Tomcat集群配置详解(1) 一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl ...

  4. Nginx+Memcached+Tomcat集群配置实践(Sticky Session)

    准备工作 创建一个简单的web应用,名为session.其中有两个页面,分别如下所示: 页面login.jsp [html] view plaincopy <%@ page language=& ...

  5. Nginx以及通过Nginx实现tomcat集群配置与负载均衡

    Nginx简介 启动,停止,和重新加载配置文件命令 Nginx功能 正向代理和反向代理的区别 反向代理 负载均衡 1.RR(默认) 2.权重 3.ip_hash 4.fair(第三方) 5.url_h ...

  6. Nginx SSL+tomcat集群配置SSL,ngnix配置SSL后js/css访问出现404

    最近在做一个项目, 架构上使用了 Nginx +tomcat 集群, 且nginx下配置了SSL,tomcat no SSL,项目使用https协议 但是,明明是https url请求,发现 log里 ...

  7. mogodb集群配置笔记

    参考http://www.cnblogs.com/ityouknow/p/7566682.html github一份:mongodb-five-cluster-conf mongodb 3.4 集群搭 ...

  8. windows apache 负载均衡配置 Tomcat集群配置

    2019独角兽企业重金招聘Python工程师标准>>> 1.安装 exe可执行文件的安装方式:http://jingyan.baidu.com/article/ed15cb1b73b ...

  9. windows下tomcat集群配置(两种方法)

    两种方法只是在配置上不同原理一样,因为apache2.X后其自身集成了mod_jk功能,相对于1.3版本,不需要再进行繁琐的worker.properties配置,配置过程大幅简化. 一.软件需求 操 ...

最新文章

  1. iOS - OC NSPoint 位置
  2. RabbitMQ消息超时时间、队列消息超时时间、队列超时时间
  3. XGBoost相关知识-2
  4. 女生学高铁和计算机哪个更好,2020铁路最好的5个专业 女生上铁路学什么专业好...
  5. win7 无线网卡无法连接,启动wlan autoconfig 服务报错误1:函数不正确
  6. 苹果uwb_苹果发布会前瞻:iPhone12还得再等等 UWB或成最大惊喜
  7. html5中图像水平边距,图像的垂直边距和水平边距属性
  8. 【数据分析】- 操作步骤大总结
  9. 使用for循环编写倒立反方向直角三角形
  10. 第二章:软件项目确立
  11. 【windows——高效工作】写作篇
  12. 2022高处安装、维护、拆除考试模拟100题及模拟考试
  13. 世界史上最成功的12大王朝
  14. java动物移动游戏下载安装_疯狂动物园正版下载安装-疯狂动物园游戏下载v1.29.0 安卓官方最新版-2265手游网...
  15. 对标西湖大学,年薪60万博士后招聘来了
  16. 微信自动回复+图片识别
  17. PHP语言之面向对象编程
  18. Android中定时器实现的方式对比
  19. 常见26种NLP任务的练手项目
  20. 【老达人吐血整理】800种绘本的小达人点读包下载

热门文章

  1. word2003计算机应用考试,2017职称计算机考试Word2003操作练习题
  2. JS基础类型和引用类型
  3. Lambda表达式的运用(详尽版)
  4. mysql数据去重语句_数据库 mysql 语句
  5. PHP连接数据库并创建一个表
  6. Objective-C 自动生成文档工具:appledoc
  7. 循环获取结构体中的健名与值的实现
  8. sersync 同步
  9. centos7 设置中文
  10. Centos下安装mysql 总结