• tomcat+apache的集群配置


    背景:项目比较大,用户较多,同一时间,用户在线人数较多,为此,整体架构是lvs(2台)+keepalived(2台)+apache(N台)+tomcat(N台)

    lvs负责分发请求,所有的web请求经由lvs分发到下面的apache机器,然后所有的apache都是镜像配置所有的tomcat机器,这里记录一下apache和tomcat的配置,

    1、apache配置:

      httpd.conf配置,找到LoadModule的地方把咱们的mod_jk.conf的位置添加进去,至于mod_jk.so可以到网上下载一个然后加到相依的位置即可

        LoadModule jk_module /etc/httpd/modules/mod_jk.so
        Include /etc/httpd/conf/mod_jk.conf

      mod_jk.conf配置 

        JkWorkersFile conf/workers.properties
        JkLogFile logs/mod_jk.log
        JkLogLevel error
        JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
        JkRequestLogFormat "%w %V %T"
        JkMount /* loadbalancer_a#配置转发地址,和workder.properties配合使用
        JkMount /jkstatus status#配置各个状态的监控

      workers.properties配置

        worker.list=loadbalancer_a,status

        worker.cotton31.type=ajp13
        worker.cotton31.host=192.168.100.31
        worker.cotton31.port=8009
        worker.cotton31.lbfactor=1
        #server的负载分配权重,值越高,分得的请求越多
        #worker.cotton1.cachesize=1000 #配置tomcat的jk连接缓存大小 (非必要)
        #worker.cotton1.cachesize_timeout=600 # (非必要)
        #worker.cotton1.reclycle_timeout=300 # (非必要)
        #worker.cotton1.socket_keepalive=1 #防止防火墙切断未激活的网络连接(非必要)
        #worker.cotton1.socket_timeout=300 #(非必要)
        #worker.cotton1.local_worker=1 # (非必要)
        #worker.cotton1.retries=3 # (非必要)
        # 第二个tomcat_cotton
        worker.cotton32.type=ajp13
        worker.cotton32.host=192.168.100.32
        worker.cotton32.port=8009
        worker.cotton32.lbfactor=1

        worker.loadbalancer_a.type=lb
        worker.loadbalancer_a.balance_workers=cotton31,cotton32
        worker.loadbalancer_a.sticky_session=true #设置为粘性session
        worker.loadbalancer_a.sticky_session_force=false #设置当多次请求未响应,请求将转发

        worker.status.type=status#状态监控

    2、tomcat设置

        1、最后一个端口ajp协议的修改如下:(下面的数值是经过压力测试之后的性对稳定的数值)

        <Connector port="8009"
        protocol="AJP/1.3"
        minSpareThreads="300"
        maxThreads="1000"
        acceptCount="1000"
        connectionTimeout="20000"
        redirectPort="8443"
        useBodyEncodingForURI="true"
        URIEncoding="UTF-8"
        enableLookups="false"
        compressableMimeType="text/html,text/xml,text/css,text/javascript,image/gif,image/jpg,image/png"/>

        2、修改engine如下,如果这个jvmRoute不添加会导致session丢失,虽然转发了,但是session不存储:

        <Engine name="Catalina" defaultHost="localhost" jvmRoute='cotton31'>

  • 相关阅读:
    对称的二元变量和不对称的二元变量之间的区别是什么?
    数据挖掘中ID3算法实现zz
    深入浅出谈数据挖掘zz
    JS动态生成表格后 合并单元格
    JS 点击元素发ajax请求 打开一个新窗口
    JS实现拖动div层移动
    简单的表格json控件
    JS添加标签效果
    JS模板引擎
    如何使用seajs+jQuery构建中型项目
  • 原文地址:https://www.cnblogs.com/aishangyizhihu/p/7527162.html
Copyright © 2020-2023  润新知