公司需要一个内部测试局域网, 要求可以支持3000并发访问!以前也没做过服务器这方面、临时抱佛脚,查看了N多文档,他人经验,布置好之后,又遇到了N多问题,功夫不负有心人、终于还是完成了要求!观他人的布置经验- 总有不全的地方,所以把自己的经历写下来、作后来使用!

接到了这个任务、首先我想到的是apache httpserver 与tomcat集群.

一、环境: win7    4cpu     8G!

二、软件:apache2.25    tomcat7    jre7u55

三、apache2.25安装、这个比较简单 一路next 、  唯一需要注意的是:apache 默认使用的80端口,安装之前看一下此端口有没有被占用,如有,关闭了它!

运行cmd  输入命令netstat -ano|findstr "80"  !

  配置apache

  1. 安装目录apache下找到conf/httpd.conf  找到mod_proxy.so 、mod_proxy_ajp.so、mod_proxy_balancer 取消注释,如下:

      

    LoadModule proxy_module modules/mod_proxy.so  #mod  代理
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #ajp协议
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #tomcat集群
  2. 启用httpd-mpm.conf   、httpd-vhosts.conf   文件,  找到并取消注释 如下:
    Include conf/extra/httpd-vhosts.conf    #定义服务器   如何定义后面会讲
    Include conf/extra/httpd-mpm.conf   #优化apache 如何优化后面会讲 
  3. 配置代理集群对象在文件最后添加如下代码
    <proxy balancer://cluster>
    
    BalancerMember ajp://127.0.0.1:8009 loadfactor=2 route=jvm1
    
    BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm3
    
    </proxy>

    loadfactor:代表tomcat调用权重,这里表示当有3个请求进来时,apache 分配2个请求给jvm1标识的tomcat,1个请求给jvm3标识的tomcat!                                 route:代表apache使用apache协议对tomcat的标识,具体配置会在tomcat配置里面讲!                                                                                                    route:代表apache使用apache协议对tomcat的标识,具体配置会在tomcat配置里面讲!

  4. 配置conf/extra/vhots.conf:这里只需要在文件的最后添加以下代码:                                                        
    <VirtualHost *:80>
    
             ServerAdmin 1665656796@qq.com
    
             ServerName  localhost
    
             ServerAlias localhost
    
             ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
    
             ProxyPassReverse / balancer://cluster/
    
    </VirtualHost>

    这里面有一些参数  serveradmin  可以随意   ,serverName,与serverAlias 测试部署阶段可以直接设置为localhost .proxypass与proxypassreverse 可以不做修改,后期明白它的含义了可以根据自己喜好修改!

  5. 找到httpd.conf文件在 DirectoryIndex 配置后面添加index.jsp  如下:

    <IfModule dir_module>
    DirectoryIndex index.html index.jsp
    </IfModule>

    到这里 apache 配置完毕!

四、tomcat配置由于比较简单,这里简略说明,如果是在一台机器上布置两个tomcat,需要修改四个端口、目的是为了避免端口冲突!tomcat启动报错.

  1. server.port   端口自己定义吧     只要不冲突就可以!
  2. connector.port    connector.redirectport  注:connector有两个,一个使用http协议,一个使用ajp协议,这里我们使用的是ajp协议 所以 把ajp协议的更改、当然我们也可以使用http协议做apache与tomcat连接、方法一样!
  3. 配置engine 这里主要是给tomcat一个标识,用来让apache区分!和前面apache httpd.conf中的blacermember 配置对应!如下:                                             
     <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
  4. 配置cluster 启动tomcat  进入小猫页面、找到tomcat doc文档.里面有cluster的配置,说明及示例!如下                                                                                                                                          复制一份代码如下:                                                                                                                                                                                            
    
            <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
    channelSendOptions="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="auto"
    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>

    注:vlaue  标签   classname为jvmroutebindervalve 与 clusterlistener  classname 为jvmroutesessionidbinderlistener  是为粘性session准备的处理方式、因为我们并没有使用到,所以需要注释掉!                                                                                                   这里还要修改一下revicve.port 也是为了避免冲突!

五、apache 与tomcat都布置完毕、可以自己写个小测试,测一下session是否达到要求!篇章短小,测试项目代码就不发布了,网上也有很多!

apache tomcat 集群!的更多相关文章

  1. Apache + Tomcat集群配置详解 (1)

    一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://to ...

  2. (转)Apache+Tomcat集群配置

    本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置. 准备环境 Apache Apache是ht ...

  3. 实战Apache+Tomcat集群和负载均衡

    实战Apache+Tomcat集群和负载均衡 目录 1.    什么是J2EE集群... 3 1.1.     序言... 3 1.2.     基本术语... 3 伸缩性(Scalability): ...

  4. Apache+tomcat集群配置

    一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://to ...

  5. apache + tomcat 集群

    apache2.2与tomcat集成(可以多个tomcat) 需求概况: 有3个服务: localhost:9091, localhost:9190. localhost:9191分别对应3个tomc ...

  6. Linux+Apache+Tomcat集群配置

    参考: http://blog.csdn.net/bluishglc/article/details/6867358# http://andashu.blog.51cto.com/8673810/13 ...

  7. ngnix apache tomcat集群负载均衡配置

    http://w.gdu.me/wiki/Java/tomcat_cluster.html 参考: Tomcat与Apache或Nginx的集群负载均衡设置: http://huangrs.blog. ...

  8. apache tomcat 集群! (转)

    公司需要一个内部测试局域网, 要求可以支持3000并发访问!以前也没做过服务器这方面.临时抱佛脚,查看了N多文档,他人经验,布置好之后,又遇到了N多问题,功夫不负有心人.终于还是完成了要求!观他人的布 ...

  9. apache tomcat集群

    今天花了大概两个小时完成了tomcat与apache的集群.现记录一下,也希望能帮助后来者. 建议看这篇博客前,先阅读一下鄙人拙作 tomcat整合apache 看完那个后,再进行集群,就很快了. 和 ...

随机推荐

  1. 面向对象【day08】:静态方法、类方法、属性方法(九)

    本节内容 概述 静态方法 类方法 属性方法 总结 一.概述 前面我们已经讲解了关于类的很多东西,今天讲讲类的另外的特性:静态方法(staticmethod).类方法(classmethod).属性方法 ...

  2. Java中Dom解析XML

    DOM将整个XML文件加载到内存中,并构建出节点树:应用程序可以通过遍历节点树的方式来解析XML文件中的各个节点.属性等信息:这种方式便于对XML节点的添加修改等,而且解析也很方便,然后它比较耗费内存 ...

  3. iiiLab提供的视频解析接口如何使用?转发个简单的使用教程

    iiiLab除了提供免费的在线视频解析下载工具,还提供了视频解析接口供有需要的个人和公司调用. iiiLab目前已支持解析下载今日头条.西瓜视频.内涵段子.微博.秒拍.小咖秀.晃咖.火山.快手.抖音. ...

  4. JAVA中初始化ArrayList的三种方式

    下面讲一下ArrayList初始化的几种不同方式. 一.最常用的初始化方式. List<String> list1 = new ArrayList<String>(); lis ...

  5. KDevelop使用经验

    KDevelop中不显示行号: 1.上方菜单栏"编辑器"->查看->Show Line Numbers 2.设置->配置编辑器->Appearance-&g ...

  6. Git基础考试题

    Git: 1.在windows上搭建git环境,成功后查看版本号 Linux安装 sudo apt-get install git -y yum install git -y windows直接安装e ...

  7. div背景透明内容不透明与0.5PX边框兼容设置

    1.问题:设置 border-width:0.5px;  并兼容安卓和苹果移动端.  兼容:苹果IOS的 safari 支持浮点数边框,安卓浏览器不支持,会四舍五入到1px.不同浏览器效果额不同  解 ...

  8. Spring MVC 源码分析

      Spring MVC SpringMVC中扮演关键角色的DispatcherServlet类. 1 DispatcherServlet 1.1DispatcherServlet 类图 1.2 初始 ...

  9. SEO之robots.txt

    [关键词:robot.txt,sitemap,User-Agent,Disallow,Allow][声明:摘自Wikipedia] 1. 定义:robots.txt(统一小写)是一种存放于网站根目录下 ...

  10. Python人工智能之路 - 第四篇 : jieba gensim 最好别分家之最简单的相似度实现

    简单的问答已经实现了,那么问题也跟着出现了,我不能确定问题一定是"你叫什么名字",也有可能是"你是谁","你叫啥"之类的,这就引出了人工智能 ...