前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache2(http.2.4.6) + Tomcat 7.0 集群安装与配置

Apache2(http.2.4.6) + Tomcat 7.0 集群安装与配置

作者头像
星哥玩云
发布2022-06-28 16:11:18
7220
发布2022-06-28 16:11:18
举报
文章被收录于专栏:开源部署

最近由于工作需要,公司需要部署 tomcat 集群,忙活了几天,终于配置了好了,做个笔记以后备用。

1. 下载 apache2 源码 http2.4.6

2. 配置 apache2 ./configure --prefix=/usr/local/apache2 --enable-modules=shared --enable-mods-shared=all \ --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http \ --enable-proxy-ajp --enable-proxy-balancer --enable-rewrite \ --with-apr=/usr/local/apr \ --with-apr-util=/usr/local/apr-util/ \ --with-pcre=/usr/local/pcre

其中 apr ,apr-util, pcre 是安装依赖包,需要提前安装

3. 安装 apache2 root@qlserver03:/home/ryanwang/http2.4.6# make && make install

4 配置 load balance 修改 httpd.conf,文件末尾插入如下内容  ProxyRequests Off <Proxy balancer://mycluster>     BalancerMember http://192.168.1.202:8080  loadfactor=1 route=jvm1     BalancerMember http://192.168.1.203:8080  loadfactor=1 route=jvm2 </Proxy> ProxyPass / balancer://mycluster/

正向代理需要关闭,主要是为了安全,“ProxyPass / balancer://mycluster/”

表示所有请求都交给 mycluster 来处理。

5 配置 tomcat7 修改 tomcat/conf/server.xml

<!-- You should set jvmRoute to support load-balancing via AJP ie : <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> <Engine name="Catalina" defaultHost="localhost">--> <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">

另外一台服务器配置成 jvmRoute="jvm2"

6 应用的web.xml 文件需要增加一个元素 <distributable/>

到此 tomcat集群load balance 已经配置完成。下面配置 session 复制

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"         channelSendOptions="8">         <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="192.168.1.202"               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>

其中修改把 manager元素的 <Manager className="org.apache.catalina.ha.session.DeltaManager" 修改为 <Manager className="org.apache.catalina.ha.session.BackupManager" 表示只有相同应用的tomcat之间才复制session。 <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"           address="192.168.1.202"           port="4000"           autoBind="100"           selectorTimeout="5000"           maxThreads="6"/>

修改 receiver IP 地址和端口。

Tomcat 的详细介绍:请点这里 Tomcat 的下载地址:请点这里

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档