Linux下搭建Apache+汤姆cat负载均衡集群

来源:http://www.pykjg.com 作者:一分快三官网 人气:99 发布时间:2019-11-03
摘要:以前写了后生可畏篇随笔Apache服务器的设置及连锁主题素材处理方案 http://www.linuxidc.com/Linux/2015-07/120149.htm,本文便是为着增加补充那时的那篇文章而写。未来再也想尝尝一下怎么在L

以前写了后生可畏篇随笔Apache服务器的设置及连锁主题素材处理方案  http://www.linuxidc.com/Linux/2015-07/120149.htm,本文便是为着增加补充那时的那篇文章而写。未来再也想尝尝一下怎么在Linux下搭建Apache+汤姆cat负载均衡集群,但是发掘本身记得不是很通晓了,然后就写下了那篇作品。

负载均衡集群配置(1卡塔 尔(英语:State of Qatar):汤姆cat的布局

修改“ tomcat/conf/server.xml ”文件
编辑server.xml文件,找到“<Connector>”成分节点,在server.xml文件之中未注释掉的有多个<Connector>要穷秋点。找到第叁个也正是地点生机勃勃行注释为

<!-- Definean AJP 1.3 Connector on port 8009 -->

的节点。将其改过为
———————————–必要操作的代码———————————————-

 <!-- Define an AJP 1.3 Connector on port 8009 -->
 <Connector port="8009" protocolhandlerclassname="org.apache.jk.server.jkcoyotehandler" protocol="AJP/1.3" redirectPort="8443" />

小心:假若是在风度翩翩台PC上同不经常间运行三个tomcat,须将各类tomcat对的server.xml文件之中的“<Connector>”成分节点里面包车型大巴port(端口号卡塔尔设置为不相同的值。这里差别方面只改第四个,而是七个“<Connector>”成分节点都不得不校正。

负载均衡集群配置(2卡塔 尔(阿拉伯语:قطر‎:

接下去继续改过那些文件,找到“<Connector>”成分节点下边的讲明如下

<!-- An Engine represents the entry point (within Catalina) that processes
         every request.  The Engine implementation for Tomcat stand alone
         analyzes the HTTP headers included with the request, and passes them
         on to the appropriate Host (virtual host).
         Documentation at /docs/config/engine.html -->
    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
    -->

​里面有

<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">

将其注释展开。这里张开tomcat的命名,即校订jvmRoute的值为tomcat实例名,不相同的tomcat设置不一样的值(这里不管是还是不是是同风度翩翩PC都须差别卡塔 尔(英语:State of Qatar)。比方自身的改过为tomcat1和tomcat2
———————————–要求操作的代码———————————————-

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1" >

负载均衡集群配置(3卡塔尔国:

接下去只怕操作tomcat的server.xml文件,在<Engine><Host>要季秋点下加多以下内容
———————————–须要操作的代码———————————————-

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
        <Manager className="org.apache.catalina.ha.session.BackupManager"
           expireSessionsOnShutdown="false"
           notifyListenersOnReplication="true"  
              mapSendOptions="6"/>
        <!--
         <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.1.99" 
              port="45564"
              frequency="500"
              dropTime="3000"/>
          <Receiver 
                  className="org.apache.catalina.tribes.transport.nio.NioReceiver"
              address="192.168.11.128"                                                        port="4002"
              autoBind="100"
              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"/>
       </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>

上述增添的代码的用处请继续看第4步。

负载均衡集群配置(4卡塔尔国:

这边依然三番两次操作tomcat的server.xml文件
找到刚刚加多的一长串代码中的<Cluster>要凉秋点,下边开端修正,代码意义见里面包车型客车讲授解释
———————————–供给操作的代码———————————————-

<Membership
     className="org.apache.catalina.tribes.membership.McastService"
     address="228.0.1.99" 
     port="45564"
     frequency="500"
     dropTime="3000"/>
<!-- 解释上一句代码.
     如果主机有vpn-虚拟专用网络,需要要bind下,即添加  bind="127.0.0.1" 在Membership元素节点里面作为属性。如果没有的话可以不用加bind,否则会导致session无法复制.
     address的值表示广播地址,同一组tomcat搭建的集群配置须一样。
     port端口号,同一组tomcat搭建的集群配置须一样。
 -->
<Receiver 
     className="org.apache.catalina.tribes.transport.nio.NioReceiver"
     address="192.168.11.128"                                                   
     port="4002"
     autoBind="100"
     selectorTimeout="100"
     maxThreads="6"/>
<!-- 解释上一句代码.
     address的值表示本机IP地址,须设置为本机IP地址。
     port端口号(tomcat默认可以检测到4000~4100之间的端口)。如果是在同一台PC上配置负载均衡则需要修改,使用不同的端口号,否则会因为端口冲突而失效。
-->

负载均衡集群配置(5卡塔尔国:项目布署文件的安插

校订待发表项目标web.xml
找到项指标web.xml文件,展开修改,在<web-app>要九秋点截止标签上边大器晚成行加多
———————————–必要操作的代码———————————————-

<distributable/>

于是保障session能够复制。

负载均衡集群配置(6卡塔尔:Apache的布署

接下去举办Apache配置文件的改变,找到Apache安装文件夹上边包车型客车conf文件夹里面包车型大巴httpd.conf文件张开并扩充改变,在终极面充分一下内容
———————————–须求操作的代码———————————————-

#加载mod_jk Module
LoadModule jk_module modules/mod_jk.so
<Ifmodule mod_jk.c>
#指定workers.properties文件路径
JkWorkersFile /usr/local/apache2/conf/workers.properties
#指定jk logs文件存放位置
JkLogFile /usr/local/apache2/logs/mod_jk.log
#Set the jk log level [debug/error/info]
JkLogLevel info
#Select the log format
JkLogStampFormat "[%a %b %d%H:%M:%S %Y]"
#JkOptions indicate to send SSL KEYSIZE,
JkOptions  +ForwardKeySize +ForwardURICompat -ForwardDirectories
#JkRequestLogFormat set the requestformat
JkRequestLogFormat "%w %V %T %q %U%R"
#JkShmFile to put logs
JkShmFile /usr/local/apache2/logs/mod_jk.shm
</IfModule>
#指定哪些请求交给tomcat处理,哪些请求交给apache处理
#注意:" loadbalancer "为在workers.propertise里指定的负载分配控制器
JkMount /*.jsp loadbalancer 
#所有的jsp都交给tomcat处理

负载均衡集群配置(7卡塔尔国:

​在上一步中丰裕的httpd.conf文件的最后增加的配备中的workers.properties文件是空头支票的,须求大家在钦定的使命成立四个,查看上一步能够开掘文件在 /usr/local/apache2/conf/路径上边创制。
workers.properties文件用于对负荷均衡的负载器worker(即tomcat卡塔尔进行实际的登记,此处的2个tomcat就视作2个worker被注册在此个文件中。
workers.properties具体安顿如下:
———————————–须要操作的代码———————————————-

#workers.properties
#
# in unix, weuse forward slashes:
ps=/
# workers 列表
worker.list=tomcat1,tomcat2,tomcat3,loadbalancer,status
#--------------------------------------------------------------------
# 第一个tomcat
#--------------------------------------------------------------------
worker.tomcat1.port=8009   #对应tomcat的server.xml中配置的ajp13端口号
worker.tomcat1.host=127.0.0.1  #tomcat1的主机地址,如不为本机,请填写IP地址
worker.tomcat1.type=ajp13  #定向包协议
worker.tomcat1.lbfactor=1  #server的负载分配权重,值越高,分得的请求越多
#以下为非必要配置,这部分配置tomcat2的配置同tomcat1
#worker.tomcat1.cachesize=1000  #配置tomcat的jk连接缓存大小 (非必要)
#worker.tomcat1.cachesize_timeout=600  # (非必要)
#worker.tomcat1.reclycle_timeout=300  # (非必要)
#worker.tomcat1.socket_keepalive=1  #防止防火墙切断未激活的网络连接(非必要)
#worker.tomcat1.socket_timeout=300   #(非必要)
#worker.tomcat1.local_worker=1  # (非必要)
#worker.tomcat1.retries=3  # (非必要) 
#----------------------------------------------------------------------
# 第二个tomcat
#----------------------------------------------------------------------
worker.tomcat2.port=8809
worker.tomcat2.host=127.0.0.1  #tomcat2的主机IP地址
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
#---------------------------------------------------------------------
#第三个tomcat,使用其他ip对应的tomcat
#---------------------------------------------------------------------
worker.tomcat3.port=8009
worker.tomcat3.host=192.168.11.128
worker.tomcat3.type=ajp13
worker.tomcat3.lbfactor=1
#----------------------------------------------------------------------
# load balancerworker -负载均衡控制器
# --------------------------------------------------------------------
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcat1,tomcat2,tomcat3
#指定分担请求的tomcat
worker.loadbalancer.sticky_session=1    #设置为粘性session
worker.loadbalancer.sticky_session_force=0  #设置当多次请求未响应,请求将转发
worker.status.type=status
#
# end workers.properties

负载均衡集群配置(8卡塔 尔(阿拉伯语:قطر‎:

​修改Apache安装陌路下的conf文件夹里的httpd.conf文件。
开垦httpd.conf文件并更正。找到DocumentRoot和Directory并改进,将文件访谈路线定位到tomcat的webapps文件夹,即待公布项目的存放地方
———————————–需求操作的代码———————————————-

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/usr/local/tomcat1/webapps"
<Directory "/usr/local/tomcat1/webapps">
   Require all granted
   Orderallow,deny
   Allow from all
</Directory>

到此安插基本产生。
上面就该实行测量检验了

越来越多相关参谋

Linux下Apache与汤姆cat的完全布满式集群配置(负载均衡卡塔 尔(阿拉伯语:قطر‎ http://www.linuxidc.com/Linux/2013-08/89072.htm

Linux下Apache与四个汤姆cat 集群负载均衡 http://www.linuxidc.com/Linux/2012-01/51731.htm 

Nginx 汤姆cat 集群负载均衡解决笔记 http://www.linuxidc.com/Linux/2013-07/86827.htm

实例安详严整Tomcat组件安装+Nginx反向代理汤姆cat+Apache使用mod_jk和mod_proxy反向代理和负载均衡 http://www.linuxidc.com/Linux/2013-06/85290.htm

CentOS 6.3利用Apache来做集群完结负载均衡 http://www.linuxidc.com/Linux/2013-03/81623.htm

Apache 的亲力亲为介绍:请点这里
Apache 的下载地址:请点这里

本文恒久更新链接地址:http://www.linuxidc.com/Linux/2015-07/120151.htm

图片 1

本文由一分快三平台发布于一分快三官网,转载请注明出处:Linux下搭建Apache+汤姆cat负载均衡集群

关键词:

最火资讯