澳门太阳娱乐集团官网-太阳集团太阳娱乐登录

Apache +Tomcat负载均衡配置,tomcat负载均衡
分类:服务器

Apache +汤姆cat负载均衡布局,tomcat负载均衡

Apache +汤姆cat负载均衡能确定保证较高的可用性和连串品质,这几个是透过Apache与汤姆cat之间的简报来完毕的。Apache和汤姆cat之间的报纸发表基本有二种方法:Mod_Jk、HTTP_Proxy、AJP_Proxy其中以Mod_Jk最为盛行,况兼官方的文书档案也拾分全。

Mod_JK是Apache的八个模块,其通过AJP契约落实与汤姆cat之间的报纸发表,Tomcat通过设置Connector监听AJP的连年伏乞。

 

留意:假若期待apache与tomcat通讯使用 HTTP 合同则须要运用 HTTP_Proxy,请看最终。

 

安装Mod_JK:

tar zxvf tomcat-connectors-1.2.40-src.tar.gz

cd tomcat-connectors-1.2.40-src/

cd native/

./configure --with-apxs=/home/soft/httpd-2.4.10/bin/apxs --prefix=/home/soft/tomcat-connectors-1.2.40
make 

make install
可选

make clean

make distclean

注:安装结果貌似不会装到/tomcat-connectors-1.2.40,但会往本地apache httpd 写入文件,比方增添了:modules/mod_jk.so

 

负载均衡配置步骤:
1.在apache安装目录下conf目录中找到httpd.conf,在最后加上配置 Include conf/mod_jk.conf
2.将mod_jk.so文件放入Apachemodules文件夹
3.新建mod_jk.conf文件并布署
4.新建workers.properties和uriworkermap.properties文件并安顿
5.修改各样tomcat配置文件server.xml,首要对应端口和设置engine的jvmRoute属性

 

mod_jk.conf 内容:
# 加载 mod_jk 模块
LoadModule jk_module modules/mod_jk.so
# workers.properties 位置
JkWorkersFile conf/mine_jk/workers.properties
#加载workers的伏乞管理分配文件
JkMountFile conf/mine_jk/uriworkermap.properties
# 日志寄放地方
JkLogFile logs/mine_mod_jk.log
# 设置日志等级 [debug/error/info]
JkLogLevel info
# Select the timestamp log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

workers.properties 内容:
# 定义worker,此处的list名称必得和mod_jk.conf文件中的 dispatcher 名称相仿  
worker.list=dispatcher,status
# Define Node1  
worker.tomcat1.port=8019  
worker.tomcat1.host=localhost  
worker.tomcat1.type=ajp13  
worker.tomcat1.lbfactor=1  
#worker.tomcat1.connection_pool_size=10  
#worker.tomcat1.connection_pool_timeout=600  
#worker.tomcat1.socket_connect_timeout=300  
# Define Node2  
worker.tomcat2.port=8029  
worker.tomcat2.host=localhost  
worker.tomcat2.type=ajp13  
worker.tomcat2.lbfactor=1  
#worker.tomcat2.connection_pool_size=10  
#worker.tomcat2.connection_pool_timeout=600  
#worker.tomcat2.socket_connect_timeout=300  

# Load-balancing behaviour  
worker.dispatcher.type=lb  
worker.dispatcher.balance_workers=tomcat1, tomcat2
#sticky_session session亲和的装置
worker.dispatcher.sticky_session=0
worker.dispatcher.sticky_session_force=1
#loadbalancer
worker.status.type=status

uriworkermap.properties 内容:
#点名诉求提交tomcat管理,"dispatcher"为在workers.propertise里钦定的载荷分配调整器
/*.jsp=dispatcher
/jkstatus=status
!/*.gif=dispatcher
!/*.jpg=dispatcher
!/*.png=dispatcher
!/*.css=dispatcher
!/*.js=dispatcher
!/*.htm=dispatcher
!/*.html=dispatcher

 

Tomcat设置:

有备无患多个tomcat,将它们的router分别设成tomcat1和tomcat2,配置它们的connector为ajp,端口分别为8019和8029。

配置达成后,运转apache和tomcat,访谈 能够查阅集群状态(前提是布局了status类型的worker卡塔尔国

 

有能够看看其余人写的,很详细:

 

只顾:如若愿意apache与tomcat通讯使用 HTTP 左券则须求采取 HTTP_Proxy:

http_proxy

那是使用 Apache 自带的 mod_proxy 模块使用代理本领来三回九转Tomcat。在配置早前请保管是或不是使用的是 2.2.x 版本的 Apache 服务器。因为 2.2.x 版本对那几个模块举行了重写,大大的巩固了其效能和平安。

http_proxy 形式是基于 HTTP 左券的代理,由此它要求 汤姆cat 必需提供 HTTP 服务,约等于说必得启用 汤姆cat 的 HTTP Connector。

本人用的linux源码编写翻译的apache,mod_proxy.so和mod_proxy_http.so已经自带了,别的版本的apache应该也许有,若无就独自安装 库 文件

############## http_proxy 方式索要的mod_proxy.so ##############
LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
############## http_proxy 形式索要的mod_proxy_http.so ##############
LoadModule proxy_http_module modules/mod_proxy_http.so
地点的内容在 apache配置文件 httpd.conf 中,松开当中的注释就足以应用 库了,

还索要在httpd.conf文件的最终加上:

############## http_proxy 方式 ##############
#http_proxy形式索要加载 mod_proxy.so 和 mod_proxy_http.so,将方面包车型客车两行对应的 LoadModule  松开注释
ProxyPass /images !
ProxyPass /css !
ProxyPass /js !
ProxyPass /

在此个布局中,大家把具有 的乞请代理到 ,那也正是 汤姆cat 的访谈地址,除了 images、css、js 几个目录除此之外。大家风流倜傥致能够选择 mod_proxy 来做负载均衡,再看看下边那个布局

ProxyPass /images !

ProxyPass /css !

ProxyPass /js !

 

ProxyPass / balancer://example/

<Proxy balancer://example/>

BalancerMember

BalancerMember

BalancerMember

</Proxy>

初步apache和tomcat就能够测量检验了。

查阅钻探

+汤姆cat负载均衡配置,tomcat负载均衡 Apache 汤姆cat负载均衡能承保较高的可用性和系统天性,那么些是经过Apache与汤姆cat之间的通信来成功的。...

出于公司初步试行个人职分管理模块,内部业务支撑平台的使用人口直线上升,每一种月的月中在眼线数高达终点,原有的二个汤姆cat已经胜任不了,小编决定通过负载均衡来减轻。

事先没搞过负载均衡,于是乎,在各大找寻网站找出文书档案无数。从规律早先,先清楚一下法则,有支持接下去的实行,然后再找找有何样技能和方案,最后决定用Apache+汤姆cat配置负载均衡来消逝

接下去就开端在虚构机上搞实验,我的是台式机,开多少个虚构机,卡得作者想吐。喝了半怀咖啡,鼠标才给作者动两下,伤不起呀。决断关掉贰个设想机,决定在叁个虚构机内开多个汤姆cat来测量检验:

1、首先需求下载相关的文件:

      Apache:   httpd-2.2.17-win32-x86-no_ssl.msi

      Tomcat:   apache-tomcat-6.0.35-windows-x86.zip

      模块     : tomcat-connectors-1.2.37-windows-i386-httpd-2.2.x.zip

      JDK      :  jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe

 

2、安装JDK文件,配置JDK环境

3、安装Apache服务器,根据互连网查的资料,供给配置以下文件

    改过http.conf,在文书最后加上上面一句话就能够了:include "安装目录Apache Software FoundationApache2.2confmod_jk.conf"

    复制mod_jk.so到安装目录Apache Software FoundationApache2.2modules

    http.conf同目录下新建mod_jk.conf文件,内容如下:

    LoadModule jk_module modules/mod_jk.so
 
    JkWorkersFile conf/workers.properties
 
    #点名那多少个呼吁提交tomcat管理,"controller"为在workers.propertise里钦赐的载重分配调节器名
    JkMount /*.jsp controller

    在http.conf同目录下新建 workers.properties文件,内容如下   

     #server

      worker.list = controller

     #========tomcat1========

     worker.tomcat1.port=11009

     worker.tomcat1.host=localhost

     worker.tomcat1.type=ajp13

     worker.tomcat1.lbfactor = 1

    #========tomcat2========

     worker.tomcat2.port=12009

     worker.tomcat2.host=localhost

     worker.tomcat2.type=ajp13

     worker.tomcat2.lbfactor = 1

     #========tomcat3========

     #worker.tomcat3.port=13009

     #worker.tomcat3.host=192.168.0.80 //在本人的虚构机中的,能够算远程的吧   #worker.tomcat3.type=ajp13

     #worker.tomcat3.lbfactor = 1

     #========controller,负载均衡调节器========

     worker.controller.type=lb

     #worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3 worker.controller.balanced_workers=tomcat1,tomcat2

     worker.controller.sticky_session=false   worker.controller.sticky_session_force=1   #worker.controller.sticky_session=1

4、安装汤姆cat,并配备如下:

    修改SERVER.XML文件

    1)、<Connector port="11009" protocol="AJP/1.3" redirectPort="8443" /> 

    2)、 <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

    3)、<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">  
      <!--    
            
          <Manager className="org.apache.catalina.ha.session.BackupManager" 
                    expireSessionsOnShutdown="false" 
                    notifyListenersOnReplication="true" 
                    mapSendOptions="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="localhost" 
                      port="4000" 
                      autoBind="100" 
                      selectorTimeout="5000" 
                      maxThreads="6"/>  
            <!-- timeout="60000"-->  
            <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=""/>  
          <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>

编辑测验页面test2.jsp

<%@ page contentType="text/html; charset=GBK" %>
 
<%@ page import="java.util.*" %>
 
<html><head><title>Cluster App Test</title></head>
 
<body>
 
Server Info:
 
<%
 
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
 
<%
 
  out.println("<br> ID " + session.getId()+"<br>");
 
  // 若是有新的 Session 属性设置
 
  String dataName = request.getParameter("dataName");
 
  if (dataName != null && dataName.length() > 0) {
 
     String dataValue = request.getParameter("dataValue");
 
     session.setAttribute(dataName, dataValue);
 
  }
 
  out.println("<b>Session 列表</b><br>");
 
  System.out.println("============================");
 
  Enumeration e = session.getAttributeNames();
 
  while (e.hasMoreElements()) {
 
     String name = (String)e.nextElement();
 
     String value = session.getAttribute(name).toString();
 
     out.println( name + " = " + value+"<br>");
 
         System.out.println( name + " = " + value);
 
   }
 
%>
 
  <form action="test2.jsp" method="POST">
 
    名称:<input type=text size=20 name="dataName">
 
     <br>
 
    值:<input type=text size=20 name="dataValue">
 
     <br>
 
    <input type=submit>
 
   </form>
 
</body>
 
</html>

修改项目上边包车型大巴web.xml,参预<distributable/>

测量检验成功,Session同步复制

 

   

     

本文由澳门太阳娱乐集团官网发布于服务器,转载请注明出处:Apache +Tomcat负载均衡配置,tomcat负载均衡

上一篇:【澳门太阳娱乐集团官网】ubuntu下ftp服务器搭建 下一篇:没有了
猜你喜欢
热门排行
精彩图文