背景:项目比较大,用户较多,同一时间,用户在线人数较多,为此,整体架构是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'>

最新文章

  1. jqGrid插件getCol方法的一个改进
  2. Jni 调试 : eclipse + Vs 联合调试
  3. OpenCv图像裁剪指点区域_roi
  4. css单位:em,rem解释
  5. 未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。
  6. Isomorphic Strings
  7. 用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇
  8. SQL2008数据库优化常用脚本
  9. Spring ApplicationContext的事件机制
  10. 在 ML2 中配置 OVS vlan network - 每天5分钟玩转 OpenStack(136)
  11. 关于逆元的概念、用途和可行性的思考(附51nod 1013 和 51nod 1256)
  12. Hadoop2.9.0安装
  13. JavaScript 循环语句
  14. SSH配置
  15. Excel之批量改变特定字体颜色(转载)
  16. Window通过zip安装并启动mariadb
  17. phpstorm+xdebug调试代码
  18. CSS------让ul中高度不同的li底部对齐
  19. 多线程学习-ListenableFuture使用介绍以及示例
  20. Spring Security教程(二):通过数据库获得用户权限信息

热门文章

  1. PHP 通过构造器进行依赖注入 demo
  2. Javascript 变量、函数的声明
  3. 【微信开发】cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
  4. JDBC driver for MySQL连接提示&quot;The connection property &#39;zeroDateTimeBehavior&#39; acceptable values are: &#39;CONVERT_TO_NULL&#39;, &#39;EXCEPTION&#39; or &#39;ROUND&#39;. The value &#39;convertToNull&#39; is not acceptable.&quot;解决方案
  5. python中的张量运算(tensor)
  6. Educational Codeforces Round 2
  7. JQuery each遍历A标签获取href 和 里面指定的值
  8. PHP(控制语句,随机数,循环语法)
  9. 四则运算第三次 PSP
  10. 解决url传中文参数问题